Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.47.0-wmf.3 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 Dyskusja wikipedysty:Persino 3 14016 543636 541304 2026-05-20T22:53:48Z Aklbmd164 37133 /* Pruski/Lekcja13 */ nowa sekcja 543636 wikitext text/x-wiki {{Witaj}} --[[Wikipedysta:Kj|Kj]] 12:45, 5 kwi 2008 (CEST) == [[Ogólne twierdzenia i wnioski o rozkładach statystycznych]] == Na Wikibooks piszemy podręczniki, podczas, gdy ten moduł, oraz [[Twierdzenie o rozkładzie normalnym‎]] są co prawda wzorowymi artykułami, jednak nadają się bardzie na Wikipedię niż na Wikibooks. Ciekawym pomysłem mogłoby być połączenie tych artykułów w jeden podręcznik. --[[Wikipedysta:Kj|Kj]] 12:45, 5 kwi 2008 (CEST) :Pozwolę sobi dodać swoje zdanie - artykuły nadająsię na Wikibooks, tylko brakuje dla nich jakiejś "wyższej" rodziny, tzn jakiegoś podręcznika, do którego mogłyby należeć (a nie znam się na tym materiale, więc nie umiem zaproponować) --[[Wikipedysta:Lethern|Lethern]] 13:17, 5 kwi 2008 (CEST) ::Witaj. Widzę że zwrócono Ci już uwagę, ale troszeczkę nie ukierunkowano. Wikibooks polega na pisaniu podręczników - dlatego staramy się unikać luźnej formy, spotykanej na Wikipedii. Staramy się aby autorzy zawierali tutaj informacje zwarte w miarę przemyślany sposób. To prawda istnieją tu podręczniki wyglądem przypominające artykuły z Wikipedii (wszystko na jednej stronie) - choćby przykładowo [[Jak żyć oszczędnie]] jest przykładem podręcznika w formie broszurowej. Jednak forma ta obliguje do zawierania wszystkich treści związanych z podręcznikiem na jednej stronie - jest to co prawda uciążliwe dla autorów, szczególnie dużych projektów, jak i obciąża czas ładowania czytelnikowi, choć walorem jest szybki dostęp do wszystkich materiałów. Stąd też powstała idea tworzenia podręczników w formie modułowej (Tytuł/Rozdział). Więcej o tworzeniu podręcznikó znajdziesz w linkach powyżej zamieszczonych wraz z powitaniem. Warto tam zajżeć. Wiąłeś sie za spory projekt, któy zasługiwałby na zebranie w jedną większą całość, bowiem pisząc sam '''podręcznik''' pr. [[Twierdzenie o rozkładzie normalnym]] wypadałoby wspomnieć wcześniej o aspekrach matematycznych i historycznych takiego twierdzenia - tak aby była to ładna pozycja poświęcona tylko temu twierdzeniu. Dlatego też zastanawiam się czy nie lepiej byłoby abyś utworzył podręcznik, przykładowo o tytule [[Statystyka w fizyce]], czy np. [[Statystyka fizyczna]] lub nawet "Ogólne twierdzenia i wnioski o rozkładach statystycznych w fizyce" i zawarł w nim treści wyżej wymienione. Wymagałoby to operacji przeniesienia napisanych już przez Ciebie modułów (przycisk przenieś) pod nowe lokacje podręcznika: przykładowo [[Statystyka w fizyce/Twierdzenie o rozkładzie normalnym]]. Przygotowanie podręcznika z luźnych treści, typu notatki, wymaga oczywiście skonstruowania jakiejś przemyślanej formy, aby wszystko było w miarę spójne, przyjemne w czytaniu i w miarę zrozumiałe. Pozdrawiam i gratuluję pierwszych edycji. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 14:28, 5 kwi 2008 (CEST) :Persino, jeśli możesz... nie baw się w wycinanie treści, ustal nazwę podręcznika, potem przenoś treść (spróbuj przyciskiem 'przenieś') --[[Wikipedysta:Lethern|Lethern]] 16:16, 5 kwi 2008 (CEST) :Dodam, że nazwa podręcznika może być 'prosta', np. "Statystyka wyższa" (bardzo zmyślam), w tym może być nagłówek "Statystyka i matematyka funkcjonalna we współczesnej fizyce" i w nim moduł "Ogólne twierdzenie..." A gdzie widzicie przycisk 'Przenieś',bo przy wikipedii był a tu nie ma!!! --[[Wikipedysta:Persino|Mirosław Makowiecki]] :Jeśli możesz, używaj częściej przycisku 'podgląd zmian' zamiast 'zapisz' --[[Wikipedysta:Lethern|Lethern]] 14:26, 6 kwi 2008 (CEST) :Ponawiam prośbę, przycisk 'przenieś' jest w tym samym miejscu co wikipedia, a przenosząc 'brutalnie' artykuły rozwalasz linki, które się do nich odnosiły (nie ma redirectów); przycisk 'podgląd zmian'.. --[[Wikipedysta:Lethern|Lethern]] 15:41, 8 kwi 2008 (CEST) :6 zmian tej samej strony w ciągu 3 minut.. nikt Ci nie zabrania tak robić, ale czy nie mógłbyś się poslugiwac przyciskiem 'podgląd zmian'? z góry dzięki --[[Wikipedysta:Lethern|Lethern]] 15:06, 10 kwi 2008 (CEST) == Brak uprawnień do przenoszenia stron == Jak pójdę pod adres http://pl.wikibooks.org/wiki/Specjalna:Przenieś/Wikipedysta:Persino/brudnopis, to przeglądarka pisze mi: "Błędy uprawnień Nie masz uprawnień do tego działania z następującej przyczyny: Nie masz uprawnień do przenoszenia stron na Wikibooks. ",w takim razie jak mam przenosić strony, jak przeglądarka tego zabrania. Mirosław Makowiecki : Zupełnie nowi użytkownicy nie mają chyba uprawnień do przenoszenia stron. Sprawdź jutro, czy dalej masz taki problem. Jeśli tak, daj znać komuś, kto jest aktywny na Ostatnich zmianach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:22, 8 kwi 2008 (CEST) == Podgląd zmian == Hej, mógłbyś korzystać częściej z przycisku "Podgląd zmian"? Zauważyłem, że robisz seriami drobne edycje w tych samych artykułach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 14:35, 13 kwi 2008 (CEST) :Derbeth, prosiłem o to już kilkaset edycji temu -.- --[[Wikipedysta:Lethern|Lethern]] 15:58, 13 kwi 2008 (CEST) == 3k, urodziny, ściganie Japonii == Witaj pracusiu. Zbliżają się święta. Polskie Wikibooks obchodzi urodziny '''10 lipca''', do tego zbliżamy się do 3 tyś. modułów - to wspaniała szansa na podwójne święto. Ba - w rankingu Wikibooks, Polska jest zaraz za Japonią - różnica ok. 80 rozdziałów książek. Wysuwam więc pomysł z inicjatywą, [http://pl.wikibooks.org/w/index.php?title=Wikibooks%3ABar&diff=76448&oldid=76445 jak ta], żeby chwilowo zamrozić licznik. Dzięki temu będziemy mogli za około 2 tygodnie przygotowywać się do potrójnego święta. Na czym polega pomysł i inicjatywa? Licznik zlicza nowe moduły tworzone w głównej przestrzeni nazw - pomysł polega na tym, żeby wszystkie nowe strony (czerwone linki) Wikipedyści tworzyli przez najbliższe kilka tygodni w brudnopisach - na swoich stronach podręcznych "Wikipedysta:Nazwa/strona podręczna". Następnie za 2 tygodnie przenieśli je "przycisk przenieś" do przestrzeni głównej. Dzięki temu efektowi kumulacji, nie dość że zgromadzimy strony potrzebne do "doskoku i prześcignięcia" Japonii, ale i będziemy mieli potrójne święto Wikibooks. Co myślisz o tej inicjatywie - zapraszam do [[WB:BAR|baru]] do podzielenia się swoją opinią. P.S. Dodatkowo, jest pomysł utworzenia/przetłumaczenia książki urodzinowej, którą moglibyśmy dodatkowo z tej okazji, wspólnie wykonać - potrzebny jest tylko pomysł jakiej ^_^. Gorąco zapraszam. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:53, 11 cze 2008 (CEST) == Odpowiedź,urodziny, ściganie Japonii == Jeśli w święta ma być więcej niż 3000 to się zgadzam,nie dość ,że będziemy obchodzić podwójne święto, to będziemy cieszyli że pokonamy Japonię pod tym względem. Jednak warto stworzyć to dla naszej satysfakcji. Wiedząc ,że pokonamy Japonię, to liczba szybkość modów powinna wzrastać szybciej. <tt>[[Dyskusja Wikipedysty:Persino|Persino]]</tt> 00:29, 13 cze 2008 (CEST) Można ogłosić częściowy sukces - udało nam się dotrwać do lipca z przymrożonymi edycjami. Jeśli posiadasz jakieś strony w brudnopisie - gorąco zachęcam do uwolnienia ich w nadchodzących dniach (między 5-11 lipca) do przestrzeni głównej [używając przycisku "przenieś" na górze lub dole strony - w zależności od skórki jaką wybrano w profilu]. Zachęcam do dalszego udziału w projekcie i wzmożenia pracy w najbliższych dniach - może uda nam się osiągnąć pułap dodatkowych 100 artykułów i prześcignąć Japonię. ;o) Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:17, 4 lip 2008 (CEST) == Kompletność fizyki teoretycznej == Mógłbyś mi napisać, na ile procentowo oceniasz stopień kompletności podręcznika? Chciałbym dopisać do Księgozbioru [[Wikibooks:Etapy rozwoju książek|ikonkę kompletności dla twojego podręcznika]]. Przy okazji, jestem pod wrażeniem rozmiaru twojej książki. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 01:22, 10 lip 2008 (CEST) === Re:Kompletność fizyki teoretycznej === Kompletnośc mojej książki oceniam na 50% [[Wikipedysta:Persino|Mirosław Makowiecki]] 02:26, 10 lip 2008 (CEST) Zerknij proszę tutaj: [[Dyskusja:Statystyka_matematyczna]] [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:41, 23 lip 2008 (CEST) Podoba mi się ta nawigacja: [[Wikipedysta:Persino|Mirosław Makowiecki]] 23:47, 23 lip 2008 (CEST) ==Numeracja wzorów== Czy wikibooks można tak zrobić aby numer rozdziału był numerowny według pewnej reguły,i ściśle określone wzory do należącego rozdziału. Np. 10.1 rozdział 1 Wzór 10.1.1 Wzór 10.1.2 10.2 Rozdział Wzór 10.2.1 Chodzi mi o generator. [[Wikipedysta:Persino|Mirosław Makowiecki]] 00:19, 2 Sierpnia 2008 (CEST) :Jedyne co w ramach MediaWiki mogę zaproponować to [[w:Pomoc:Wzory]] i polecany tam szablon "wzór" (niestety zmuszający do ręcznego numerowania). :{{wzór|<math>c=\sqrt{a^2+b^2}</math>|10.1|bez automatu=tak}} :Niestety Wikipedia to nie LaTeX. Na koniec drobna uwaga. Jeśli chcesz zadać komuś pytanie, lub na coś odpowiedzieć to pisz na '''jego''' stronie dyskusji, a jeśli wszystkim wikipedystom to lepiej pytać w "Barze". (To pytanie znalazłem przypadkiem.) Sugeruję również stosować <math>\langle\cdot\rangle</math> zamiast <math><\cdot></math>. [[Wikipedysta:Delimata|Delimata]] 10:03, 5 sie 2008 (CEST) Jeszcze tak mi się nasunęła taka sugestia by rozważyć użycie symbolu <math>\varepsilon\,</math> zamiast <math>\epsilon\,</math>. [[Wikipedysta:Delimata|Delimata]] 11:13, 6 sie 2008 (CEST) == Giggs komentarz == Ktoś napisał: [[Dyskusja:Fizyka_statystyczna/Zespoły_statystyczne_w_fizyce_statystycznej_klasycznej|w tej dyskusji]] --[[Wikipedysta:Lethern|Lethern]] 09:59, 8 sie 2008 (CEST) == spis treści == "jak wstawić spis treści" - nie da się tego zrobić automatycznie, bo spis treści powstaje na podstawie nagłówków w artykule, więc w "innym module o innych nagłówkach" nie zrobi się taki sam spis. Można go zrobić ręcznie, napisz który i gdzie skopiować, mogę spróbować --[[Wikipedysta:Lethern|Lethern]] 11:04, 3 lis 2008 (CET) ===Re:spis treści=== Co to znaczy ręcznie? [[Persino|Persino]]19:11 3 lis 2008 :To znaczy napisać ten spis i dodać linki, tak jak np. spis modułów na stronie Fizyka.../Artykuły --[[Wikipedysta:Lethern|Lethern]] 20:45, 7 lis 2008 (CET) ''Wstawiłeś (przez użycie "wstawiania stron" "{: ... }" ) spis treści z Statystyki matematycznej do podręcznika fizyki. Poprawiłem link, bo w poprzednim była stara strona z ustawionym EK. Na stronie [[Statystyka_matematyczna]] dodałem tagi "noinclude", dzięki nim tekst między nimi nie pojawi się w miejscu gdzie kopiujesz ten moduł w podręczniku Fizyki. Jak coś to pytaj (najlepiej na mojej stronie dyskusji, łatwiej mi zobaczyć że piszesz) --[[Wikipedysta:Lethern|Lethern]] 14:36, 15 lis 2008 (CET)'' :Sprostowanie... był konflikt edycji, cofnąłem swoje, powyższe nie ma już znaczenia == Wstawianie kategorii "Ekspresowe kasowanie" == Nie rozumiem, co robisz wykonując [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna/Równania_różniczkowe_zwyczajne_rzędu_drugiego_sprowadzane_do_równań_rzędu_pierwszego&diff=85470&oldid=85443 takie edycje]. Jeśli chcesz, żeby jakaś strona była skasowana, powinieneś wstawić szablon ek i napisać, dlaczego stronę należy skasować (np. że treść została gdzieś przeniesiona). Nie mam czasu biegać po podręczniku i prowadzić dochodzenie, czy stronę kasować, czy nie. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 13:49, 6 lis 2008 (CET) :Dodam, że chodzi o wstawienie: <nowiki>{{ek|tu wpisz tlumaczenie}}</nowiki> --[[Wikipedysta:Lethern|Lethern]] 20:45, 7 lis 2008 (CET) == podręcznik == Nie wiem czy dostrzegłeś - ktoś się wpisał tu [[Dyskusja:Statystyka matematyczna/Metoda najmniejszych kwadratów]]. --[[Wikipedysta:Lethern|Lethern]] 13:11, 10 gru 2008 (CET) == Urodziny Wikibooks == Cześć. 24 stycznia polskim Wikibooksom stuknie 5 latek. Trochę byłoby szkoda, gdyby to przeszło bez echa - [http://stats.wikimedia.org/wikibooks/PL/ChartsWikipediaPL.htm podczas wakacyjnej akcji] przybyło w końcu nieco modułów :). W [[Wikibooks:Bar#Urodziny Wikibooks|kawiarence]] dałem kilka propozycji, co można by na takie urodziny zrobić. Na jesień udało mi się przez wykop rozpropagować jakoś podręcznik fotografii (i też na statsach fajnie widać październik ;) Jeśli masz inne propozycje, też je dorzuć. Wiem, że na booksach jest tak, że każdy swoją działkę pieli, ale jeśli sami się nie rozpropagujemy, to niewiele osób będzie tu trafiało. Pozdrawiam [[Wikipedysta:Przykuta|Przykuta]] 14:09, 18 sty 2009 (CET) == Spis treści fizyki teoretycznej == Zrobiłem trochę "ukruconą" wersję spisu treści do podręcznika, w [[Wikipedysta:Lethern/Fizyka teoretyczna]]. Usunąłem wszystkie podpunktu poziomu ###, #### itd., wypadło ponad 200 podpunktów. Nie jest to na pewno idealny spis, ale daję przykład, że można go zrobić bardziej czytelnym, żeby pomóc przeglądać ten spis użytkownikom (pewnie można wywalić wiele podpunktów typu ## oraz powinno się zostawić niektóre poziomu ###, ale nie bawiłem się w szczegóły). Myślę, że można by taki spis treści (mniejszy) wstawić na jakąś poboczną stronę (oddzielny moduł) lub odwrotnie, aktualny spis wstawić na oddzielny moduł. Co sądzisz? --[[Wikipedysta:Lethern|Lethern]] 13:11, 4 lut 2009 (CET) === Spis treści fizyki teoretycznej === Zrobiłem spis treści by był on szczegółowy, bo czytelnik korzystający z mniej szczegółowego spisu treści, patrzy, nie ma, a już rzeczywiście jest. Temu mój służy spis treści. '''Widziałem gorsze spisy treści''' w drukowalnych książkach, nie na '''wikibooks'''. Ja bym tak zrobił w jednym pliku "Fizyka teoretyczna" umieścił bym jednym pliku wszystko z parserami, oto psełdokod; ----------------------------------------------------------------------------- //Fizyka teoretyczna if((Tom=="Matematyka statystyczna")or(Tom=="")){ //Spis streści Matematyki statystycznej } if((Tom=="Statystyka Fizyczna")or(Tom==""){ //Spis treści statystyka fizyczna } pozodstały spis streści <nowiki>[[Kategoria:Fizyka]]</nowiki> ----------------------------------------------------------------------------- Następnie należy stworzyć plik np. "Matematyka statystyczna", a w nim, a oto psełdokod: <nowiki>{{:Fizyka_teoretyczna|Tom=Matematyka statystyczna}}</nowiki> <nowiki>[[Kategoria:Fizyka]]</nowiki> ----------------------------------------------------------------------------- Aby moja książka była bardziej przejrzysta, temu służy podział mojej książki na pliki w katalogu '''Fizyka''', które korzystają z pliku '''Fizyka teoretyczna''' by stworzyć spis treści. Czy mógłbyś to stworzyć na swoim katalogu domowym, jeśli by mnie się podobało, to prosił bym byś to zrobić to dla każdego z rozdziału z osobna. [[Wikipedysta:Persino|Persino]] 16:41, 4 lut 2009 (CET) === "Szablon" do spisu treści === [[Wikipedysta:Lethern/Fizyka_spis]] Wykorzystanie, np.: Wikipedysta:Lethern/Fizyka_spis|1|||4| czy np. Wikipedysta:Lethern/Fizyka_spis|.|.||| Każde niepuste pole (np."1") oznacza użycie danego rozdziału, puste oznacza pominięcie. Pierwsze pole to pierwszy rozdział, i tak dalej. Uwaga: "szablon" (choć nie jest szablonem), nie może być na głównej stronie, tylko w jakimś module podrzędnym. Główna strona musi z niego korzystać. Nie wiem, czy to idzie obejść. Na głównej stronie jest po prostu: Wikipedysta:Lethern/Fizyka_spis|a|a|a|a *Przykład wykorzystania - [[Wikipedysta:Lethern/Fizyka_strona]] --[[Wikipedysta:Lethern|Lethern]] 01:56, 2 mar 2009 (CET) == Linki do wzorów == Jest już pewien szablon, spróbuj z niego skorzystać: *link do użycia: : <nowiki>[[podręcznik/moduł#wzór1|Tekst opisu]]</nowiki> *tam gdzie wzór, szablon: : <nowiki>{{Indeksuj|wzór1}}<math>x=y</math></nowiki> *wygląda to tak (bez zmian): : {{Indeksuj|wzór1}}<math>x=y</math> Swoją drogą, nie zauważyłem tej wypowiedzi w temacie ze spisem treści (mogłem pominąć, a nie jest ona na mojej stronie dyskusji), ale spróbuję to zrobić --[[Wikipedysta:Lethern|Lethern]] 01:15, 2 mar 2009 (CET) :W module [[Fizyka teoretyczna/Średnie w matematyce]] zamieniłem linki do nagłówków (np. średnia arytmetyczna) na linki do wzorów. Możesz sprawdzić, jak działa, jeśli niepotrzebnie zamieniałem to cofnij moje edycje ; ) --[[Wikipedysta:Lethern|Lethern]] 11:07, 2 mar 2009 (CET) :Moja wiedza nt. wiki mówi mi,że nie ma możliwości użycia żadnego licznika, który by to zautomatyzował. Musisz ręcznie wpisywać 1, 2 itd. --[[Wikipedysta:Lethern|Lethern]] 11:50, 4 mar 2009 (CET) == Fizyka teoretyczna/Zbiór rozdziałów == Pozostawiłeś ten moduł pusty. Mams go usunąć? W tym celu wstawiaj proszę szablon: {{s|ek}}. P.S. W barze wspominałeś na temat szablonów. Nie rozumim tylko czy to było pytanie czy stwierdzenie? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 16:25, 7 mar 2009 (CET) == Fizyka teoretyczna - spis treści == Niekoniecznie rozumiem po co Ci tyle zagnieżdżonych szablonów. Ogólnie na Wikibooks źle widziane jest "forkowanie", w Księgozbiorze nie pojawiają się pozycje [[Statystyka matematyczna]], [[Klasyczna elektrodynamika]], [[Szczególna teoria względności]], [[Rachunek tensorowy]], [[Ogólna teoria względności]] itd. myślę, że wygodniej byłoby podzielić całą książkę zgodnie z nazewnictwem albo na układ taki: * strona zbiorcza "[[Fizyka teoretyczna]]" dla kilku osobnych podręczników "[[Fizyka teoretyczna cz.I - Statystyka matematyczna]]/podrozdziały" itd... * lub sugerowałbym powrót * w obecnej chwili zanim podjęte zostaną jakiekolwiek decyzje i działania (najprawdopodobniej związane z usunięciem niepotrzebnych spisów treści na nieistniejących podręcznikach, lub migracją podrozdziałów fizyki teoretycznej do właściwych podręczników) - proponuję na stronach "Statystyka matematyczna" i wszystkich innych tego typu w przestrzeni głównej nazw, umieścić szablony informujące, że jest to część z podręcznika [[Fizyka teoretyczna]] - bowiem użytkownicy będą zdezorientowani nagłą zmianą struktury i nazewnictwa - kiedy przeniesieni zostaną z podręcznika "Statystyka matematyczna" czy "Klasycznej elektrodynamiki" do "Fizyki teoretycznej". :Ewentualne przeniesienia mogą zostać wykonane botami, o ile będą dostępne. --[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:38, 7 mar 2009 (CET) == Programowanie i CSS w mediawiki == MediaWiki oparta jest na cssie więc niejako można tworzyć nowe klasy. Niestety jest to bardzo ograniczone, np. do możliwości tworzenia skinów. Ze względów bezpieczeństwa takie formuły najczęściej ograniczone są tylko do obsługi pojedynczego użytkownika. Ciut więcej możesz poczytać na stronie: http://www.mediawiki.org/wiki/Manual:CSS i jej odnośnikach. Może na precyzyjniejesze pytania będę mógł bardziej szczegółowo odpowiedzieć. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:27, 1 kwi 2009 (CEST) Zapewne chodziło Ci o wyrażenie typu: <nowiki>{{{1|2}}}</nowiki> (różnica nawiasu) oznacza to, że domyślna wartość pierwszego również domyślnego parametru szablonu, w przypadku pominięcia jego deklaracji przy użyciu szablonu będzie wynosiła 2. Przykładowo dla deklaracji: <nowiki>{{Szablon|blabla|bleble}} wartość parametru {{{1|2}}} wynosiła będzie blabla parametru {{{2}}} bleble. Z kolei zamieszczając {{Szablon}}, parametr {{{1|2}}} równy będzie 2, natomiast parametr {{{2}}} pozostanie pusty.</nowiki> -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:16, 2 kwi 2009 (CEST) == Liczby zespolone == :Część praktyczna podręcznika - tj. dodawanie i odejmowanie nie została napisana przeze mnie, i jest w chwili obecnej troszkę oderwana od podręcznika, i w najbliższym czasie będę starał się ją przeredagować. Co do zapisu <math>i= \sqrt{-1}</math> w wielu środowiskach jest przedstawiany jako bardziej prawidłowy niż krytykowany przez nie zapis <math>i^2=-1</math> za mniej dydaktyczny. W podręczniku starałem się zachować pewną wynikowość i skupić się na przystępnym i łagodnym wprowadzeniu do świata liczb urojonych jak również w miarę zrozumiałym opisie liczb zespolonych. W większości podręczników czy skryptów spotykałem się z wrzucaniem czytelników na głęboką wodę, dlatego przyjąłem konwencję wynikową opisu liczb: skoro zakładamy że są narzędziem pozwalającym obliczać pierwiastek liczb ujemnych to musimy stworzyć to narzędzie, następnie możemy na nim operować, a potrafiąc już operować można próbować przedstawiać to na rysunku. :Zgodzę się że dla matematyków znających przepisy, oczywistym jest przyjęta później konwencja operowania w zapisie "kartezjańskim", przez podawanie współrzędnych w płaszczyźnie arganda (a,b), jednak wydaje się to dość nienaturalne i usilne promowanie tego typu przedstawienia liczb najczęściej wprowadzało większy zamęt u niezaznajomionych z tematyką. Mimo wszystko uznałem za bardziej naturalny i zrozumiały dla człowieka zapis algebraiczny liczb. Staram się po prostu utrzymać jednolitą konwencję podręcznika i nie mieszać nadto pojęciami między sobą. Ale i objaśniać w łatwy sposób elementy dyskusyjne, które bagatelizowane są często w innych książkach. :Toteż, co do zapisu <MATH>\sqrt{-1}^2=(\pm i)^2\equiv -1</MATH> dla nas oczywistym jest zachowanie kolejności działań - bo nieświadomie sposób liczenia uznajemy już za oczywisty. Jednak pamiętać należy, że młodzież jest bardziej dociekliwa i często ich manipulacje cyferkami mogą pokazać, że <MATH>\sqrt{-1}^2=(\pm i)^2\equiv (\pm \sqrt{-1})^2</math> co daje nam ciekawy efekty jak np. <math> \sqrt{(-1) \cdot (-1)} = \pm 1 </MATH> p zastosowaniu analizy klasycznej. Jak widać w takiej kolejności wykonywania działań algebraicznych otrzymujemy różne efekty, a wytłumaczenie - "wybierz sobie wynik ujemny" zaczyna zakrawać o zbrodnię na dydaktyce. We "wcześniejszej" analizie takich problemów nie było, a wszyscy przyzwyczajeni byli do przemienności działań mnożenia elementów posiadających ten sam wykładnik. :Chyba, że sam posiadasz jakiś fajny pomysł na predstawienie/wytłumaczenie tego problemu w prosty i zrozumiały sposób czytelnikowi który nigdy wcześniej nie miał doczynienia z liczbami zespolonymi, a jego matematyka zakończyła się na standardowej analizie liczb rzeczywistych - bo do takich osób przede wszystkim kierowałem podręcznik. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:09, 3 kwi 2009 (CEST) :Dokładnie. I takie przedstawienie mi chodzi po głowie w dalszych rozdziałach podręcznika. Bowiem z tego co inni wrzucili już do części o działaniach na liczbach zespolonych, widzę raczej brak zrozumienia ich tematyki - standardowy dla zwykłego trybu nauczania 3Z. Chcę by ten podręcznik był inny niż standardy w tej dziedzinie. Muszę tylko skończyć parę projektów, i powrzucam to co mam na Wiki - bo nie lubię nieprzemyślanej roboty. Cieszę się że się rozumiemy w tej sprawie i nie jestem odosobniony w takim podejściu do prezentacji tych liczb. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:01, 4 kwi 2009 (CEST) == O mojej (mam nadzieję) pomocy == Witaj, piszę do Ciebie, żebyś nie niepokoił się moimi poprawkami w fizyce teoretycznej. To tak żeby uprzedzić i wyjaśnić. Nie będę ingerował - a na pewno nie bez pytania! - w tok rozumowania, w strukturę podręcznika, ani nie będę wprowadzał swoich "dodatków". Chciałbym tylko, na ile starczy mi zapału, pomóc poprawiać język, uzupełniać zgubione indeksy, ujednolicać symbole itp. z zachowaniem ciągu wywodu, który Ty zaproponowałeś. Twój wykład wymaga sporych poprawek językowych, czego chyba masz sam świadomości, prawda? Jak widziałem inni też to już wcześniej zauważyli. Pozdrawiam i... podziwiam rozmach z jakim podręcznik został zaplanowany. [[Wikipedysta:Youandme|Youandme]] 18:40, 3 kwi 2009 (CEST) == Edycje == Witaj Persino. Muszę jeszcze raz o tym napisać - czy mógłbyś spróbować więcej używać przycisku "podgląd zmian", niż "zapisz"? Jeśli boisz się o stratę dokumentu, zapisuj w notatniku. Może Tobie to nie robi różnicy, ale licznik edycji wikibooks jest sztucznie zawyżany, Ostatnie zmiany są mało czytelne, a Tobie to chyba nie będzie sprawiało wielkiego klopotu? --[[Wikipedysta:Lethern|Lethern]] 12:01, 5 kwi 2009 (CEST) Obywatelu, zlituj się, przestań robić miliony edycji. Jedna na minutę to za dużo --[[Wikipedysta:Lethern|Lethern]] 12:36, 18 kwi 2009 (CEST) == Odp: Wariacja lub wariancja == [http://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikipedysty:Youandme&diff=96991&oldid=96186 Piszesz]: : "W książce "Analiza danych" autora "Siegmund Brandt" jest używane słowo '''wariacja''' [...]". W jakim kontekście? Na której stronie? Spójrz na miejsce, gdy drugi moment pojawia się w tej książce chyba po raz pierwszy (strona 51) w rozdziale 3.3 o tytule "Funkcje jednej zmiennej losowej, wartość oczekiwana, '''wariancja''', momenty". Na wspomnianej stronie 52., jest definicja i używa słowa '''wariancja''', później mamy tytuł rozdziału 3.5 "Wartości oczekiwane, '''wariancje''', kowariancje i współczynniki korelacji", a kolejnych rozdziałach np. 11. "Analiza '''wariancji'''"! Zajrzysz do indeksu i zobaczysz, że: :'''wariancja''' 51, 76, 248, 688, 690 : - estymatora 254 : - wartości średniej 177, 199, 301 : - z próby 176, 198 : - zmiennej losowej 51 natomiast w indeksie mamy też oczywiście (i zaledwie tylko tyle): :'''wariacje''' 598 ale dotyczy to pojęcia z kombinatoryki - cytuję ze strony 598: "Takie ustaiwenia obiektów nazywamy ''wariacjami''". <br>Tak przynajmniej jest w wydaniu z 1998 roku i śmiem twierdzić, że jeśli gdzieś w tekście pojawiło się słowo '''wariacja''' w znaczeniu drugiego momentu statystycznego, to była to literówka. I podtrzymam twierdzenie, że w polskim drugi moment statystyczny nie jest nazywany wymiennie '''wariacją''' lub '''wariancją'''. [[Wikipedysta:Youandme|Youandme]] 01:23, 11 kwi 2009 (CEST) PS. Przy okazji dam spóźnioną odpowiedź: oczywiście zastosuję się do prośby o używanie szablonów "CentrujWzór" i "CentrujWzór" i cieszę się, że zaakceptowałeś moją propozycję pomocy. == Wzory == Niestety, nie mam pojęcia jak to zautomatyzować, jedynie ręczne wpisywanie widzę jako opcję --[[Wikipedysta:Lethern|Lethern]] 21:10, 18 kwi 2009 (CEST) == poprawka Bernoulliego == Poprawiłem mniej więcej to, o co prosiłeś. Jeśli nagłówki pozostałe mają być w "podpunktach", to wystarczy <nowiki>=Twierdzenie o rozkładzie wielomianowym= zmienić na ==Twierdzenie o rozkładzie wielomianowym==</nowiki> itd. --[[Wikipedysta:Lethern|Lethern]] 09:16, 20 kwi 2009 (CEST) == rozdziały bez spisu treści == Było takie coś (tag h2, h3 itd.), ale niestety już nie działa. Pozostaje nie używać === i robić ręcznie, np. <nowiki> <big>'''nazwa'''</big> </nowiki> <big><big>'''"nazwa"'''</big></big> ---- Albo przy użyciu formatowania html, --[[Wikipedysta:Lethern|Lethern]] 15:15, 28 kwi 2009 (CEST) == całka == 1. <MATH>\int_{\overset{a}{\underset{c}{b}}}c(x)dx\;</MATH> 2. <MATH>\int_{\overset{a}{\underset{c}{\overset{b}{}}}}c(x)dx\;</MATH> 3.<MATH>\int_{ \begin{matrix} a \\ b \\ c \end{matrix} }c(x)dx\;</MATH> i jeszcze 4. <math> \int\limits_{\overset{a}{\underset{c}{\overset{b}{}}}}</math> Polecam http://meta.wikimedia.org/wiki/Help:Displaying_a_formula --[[Wikipedysta:Lethern|Lethern]] 17:44, 5 maj 2009 (CEST) * Wprowadziłem zmiany w [http://pl.wikibooks.org/w/index.php?title=Fizyka_statystyczna/Przykłady_innych_zespołów_statystycznych_kanonicznych_w_fizyce_klasycznej&curid=15972&diff=99547&oldid=99524 Przykłady innych zespołów statystycznych kanonicznych w fizyce klasycznej‎], tzn. poprawiłemdwie całki. wg tego co napsałem powyżej --[[Wikipedysta:Lethern|Lethern]] 11:49, 7 maj 2009 (CEST) == Rozdziały == O ile z wiki można coś poradzić, tak na HTMLu się nie znam. Poczytaj tu: [http://meta.wikimedia.org/wiki/Help:Section#Section_linking Help:Section] (tu masz [http://meta.wikimedia.org/wiki/Help:Contents#For_editors spis]). Niestety nie wiem, co masz na myśli. Jeśli nie poradzisz sobie to napisz dokładnie, jak to ma wyglądać, najlepiej jakieś demo, to może coś pomogę (ew mozna na wikipedii o tym wspomnieć, tam więcej ludzi co się znają) Generalnie żeby do pewnego miejsca można było linkować, to coś musi zawierać: :<nowiki>{{anchor|tekst}}</nowiki> (lub) :<nowiki><span id="anchor_name">some text</span>. </nowiki> Rozdział można też tworzyć poprzez: :<nowiki><tt><h4>tekst</h4></tt> </nowiki> --[[Wikipedysta:Lethern|Lethern]] 22:14, 8 maj 2009 (CEST) == Doktorat z Wikimedia == Hmm. Dość ciekawa propozycja. Choć co prawda nie wiem co do końca masz na myśli z pisaniem doktoratu "z Wikimedia". Chcesz zająć się "fenomenem" środowiska Wiki, czy po prostu tworzyć kilku osobową publikację pracy doktorskiej? Myślę, że w tym drugim przypadku - głównymi ograniczeniami byłyby wymogi uczelniane, stawiane przez Centralną Komisję oraz prawnie podyktowane ''ustawą o stopniach naukowych'', która tak na marginesie chyba wspominała o możliwości prowadzenia wieloosobowej publikacji (art. 13 pkt 3) - mechanizm Wiki jako taki posiada historię wkładu w podręczniki, więc możesz być utożsamiany w konkretnymi częściami pracy zbiorowej, za jaką można byłoby uważać pojawiające się treści na Wikibooks. Jedynym ograniczeniem byłaby zasada Oryginal Research - co oznacza, że poniekąd "oryginalne rozwiązanie problemu naukowego" (art. 13 - pkt 1) nie mieści się w ramach Wikibooks (i najlepiej aby była rozwiązana poza Wikibooks). Za to cała część "wykazująca ogólną wiedzę teoretyczną w danej dyscyplinie naukowej lub artystycznej", jako część dedykowana dydaktyce, jak najbardziej może się znajdować na Wikibooks. Jeśli natomiast masz na myśli wykonanie publikacji drukowanej Twojego podręcznika, do puki nie będzie naruszona licencja GFDL (która pozwala nawet na sprzedaż materiałów, byle za podaniem autorów największego wkładu i zamieszczeniem pełnej treści licencji) oraz licencja grafik - osobiście myślę, że nie powinno być problemów. Nie podoba mi się tylko "zmuszanie" do rozwijania podręcznika - nauka powinna być przywilejem, nie karą ;o). -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:49, 16 maj 2009 (CEST) == PHP i wzory == Myślę, że warto by porozmawiać z programistami z MediaWiki (na IRCu, propozycjach dodatków, czy Bugzilli) w sprawie opracowania plug-inu do Wikibooks umożliwiającego prowadzenie numeracji wzorów i odwoływanie się do nich. Obecnie Wiki działa w bardzo okrojony sposób i trzeba niejako 'hackować' jej możliwości tak jak zrobiłeś to w {{s|CentrujWzór}} i {{s|LinkWzór}}, istnieją też inne narzędzia odwoławcze np. referencje: szablony: {{s|r}}, {{s|u}}, {{s|o}}, {{s|RN}} i {{s|UN}}, innym rozwiązaniem jest też użycie grup referencji <pre><references group="wzór"/></pre> - zastanawiam się czy możliwe byłoby utworzenie grupy matematycznej "wzór" i uwzględnienia w odpowiednich css'ach, ale jest to troszeczkę bardziej zaawansowany problem, wykraczający poza moje możliwościowi dostępowe do Wiki (dostęp do plików katalogów który mają programiści MediaWiki). P.S. Czy na pewno chcesz skasować: [[Fizyka teoretyczna/Rozkłady kwantowe w fizyce]]? == rozkłady == Przepraszam, że dopiero dziś odpowiadam. Wydawało mi się po prostu, że tytuły są mylące, bo rozkład statystyczny i rozkład zmiennej losowej to to samo, a tytuły sugerowały, że to co innego. W obecnej wersji jest moim zdaniem całkiem dobrze, pewnie jeszcze lepiej byłoby wszędzie jednolicie pisać "rozkład zmiennej losowej" albo "rozkład statystyczny", ale to już kosmetyka. Pozdrawiam, [[Wikipedysta:Olaf|Olaf]] 19:27, 4 cze 2009 (CEST) == [[Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Energia_ciała_w_polu_grawitacyjnym|Energia ciała w polu grawitacyjnym]] == Ucząc się do egzaminu czytam Twój podręcznik i nie jestem pewien, czy aby to równanie jest dobrze napisane. W momencie przejścia: <math>GMm\int\limits^{\infty}_r r^{-2}dr=\lim_{r_0\rightarrow \infty}GMm[-{{1}\over{r}}]^r_{r_0}</math> w niezrozumiały dla mnie sposób zamieniasz granice całkowania (całkujemy od r do nieskończoności, a potem od nieskończoności do r). Czy aby to jest dobrze? Dodam, że wyprowadzając ten wzór "od początku" otrzymuję ten sam wynik tylko z przeciwnym znakiem. Jeśli to jest mój błąd, to oczywiście przepraszam ;-). --[[Wikipedysta:Kj|Kj]] 23:17, 9 cze 2009 (CEST) == [[Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Empiryczne_Prawa_Keplera|Empiryczne Prawa Keplera]] == Witaj, znowu odkryłem drobne błędy w podręczniku i pozwoliłem je sobie poprawić. Oto zmiany (proszę o ich przejrzenie i ew. revert w przypadku mojego błędu): [http://pl.wikibooks.org/w/index.php?title=Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Empiryczne_Prawa_Keplera]. Pozdrawiam --[[Wikipedysta:Kj|Kj]] 23:39, 12 cze 2009 (CEST) == EKi == Witam, jesteś pewien chęci usunięcia tej strony: [[Fizyka teoretyczna/Elementy zagadnień z klasycznej mechaniki kwantowej]]? P.S. Usunąłem resztę, ale sprawdź jeszcze czy nie zerwało linkujących. Następnym razem jeśli przenosisz strony proszę pozmieniaj adresy w linkujących - zapobiegnie to zrywaniu i powstawaniu czerwonych linków w istniejących już modułach. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:58, 14 cze 2009 (CEST) == poprawianie podręcznika == chętnie bym poprawiał, ale nie mam najlepszego dostępu do internetu aktualnie niestety --[[Wikipedysta:Lethern|Lethern]] 23:50, 3 lip 2009 (CEST) == Autoindeksowanie == Hmm. Raczej nie spotkałem się z takim narzędziem. Mimo wszystko Wiki to nie Office czy TeX. Ale jeżeli koniecznie byłoby Ci coś takiego potrzebne, musiałbyś złożyć request na stronie https://bugzilla.wikimedia.org/ o opracowanie takiego narzędzia. Co prawda zajmie to troszkę czasu, ale może któremuś programiście zachce się stawić czoła temu problemowi. ;) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:43, 1 lip 2009 (CEST) == wzory w tekście == '''(spójrz na źródło tego tekstu)''' <br /> Możesz zrobić niektóre skróty "mniejsze" niż czcionka Tex'a, tzn.<br /> &int; &sum; &prod; &radic; &minus; &plusmn; &infin; <br /> &prop; &equiv; &ne; &le; &ge; <br /> &times; &middot; &divide; &part; &prime; &Prime; <br /> &nabla; &permil; &deg; &there4; &Oslash; &oslash; <br /> &isin; &notin; &cap; &cup; &sub; &sup; &sube; &supe; <br /> &not; &and; &or; &exist; &forall; &rArr; &hArr; <br /> &rarr; &harr; &uarr; &alefsym; - &ndash; &mdash; <br /> &alpha; &beta; &gamma; &delta; &epsilon; &zeta; &eta; &theta; &iota; &kappa; &lambda; &mu; &nu;<br /> &xi; &omicron; &pi; &rho; &sigma; &sigmaf; &tau; &upsilon; &phi; &chi; &psi; &omega;<br /> &Gamma; &Delta; &Theta; &Lambda; &Xi; &Pi; &Sigma; &Phi; &Psi; &Omega;<br /> Oczywiście, górny i dolny index: x <sub>a</sub> + y <sup>b</sup> W TeX możesz spróbować zrobić taki trick: < math> _{....} < /math> <br /> tekst tekst wzór <math>_{x^2+2x+1}\,</math> teksttekst &nbsp; czy też &nbsp; tekst <math>_{\cos \alpha + \sum_{n=3}{x_n}}\,</math> tekst tekst <br /> Problem w tym, że niektórzy muszą sięgnąć po okulary, żeby taki wzór przeczytać :D --[[Wikipedysta:Lethern|Lethern]] 23:49, 3 lip 2009 (CEST) Niektóre symbole są podane na stronie [https://web.archive.org/web/20180128055722/http://www.poradnik-webmastera.com:80/artykuly/html/znaki_specjalne_html.php] [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja Wikipedysty:Persino|dyskusja]]) 20:44, 29 wrz 2009 (CEST) == Przenoszenie i usuwanie stron == W skrócie: trzeba poprawiać odnośniki, jeśli przeniesiesz stronę. Zmienianie nazw dla stron powoduje różne problemy z linkami, jak wiesz. Zanim zmienisz nazwę modułu, zajrzyj do lewego panelu, w "narzędzia" znajdziesz "Linkujące" - powinieneś zmienić treść wszystkich tych stron, aby linkowały do nowej strony. Przykład ze złym odnośnikiem - i nie wiem nawet, jak to poprawić [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna/Momenty_statystyczne_ciągłe_i_dyskretne przykład zerwania linka] -> 2.48 (problem w tym, że redirect który był został usunięty, i nie wiem nawet gdzie strona została przeniesiona) --[[Wikipedysta:Lethern|Lethern]] 10:42, 15 lip 2009 (CEST) Cóż... widzisz, jeśli wstawisz gdzieś EK, to znaczy że chcesz ten moduł usunąć z bazy wikibooks. Jeśli jest to redirect to usuwasz go. Jeśłi przeniosłeś stronę i na starej wstawiłeś EK, to starej już nie będzie (a mógł być redirect, dzięki czemu stare linki, niepoprawione, ze starą nazwą... można poprawić, bo dojdzie się do redicerta. Jeśli się go usunie, to stare linki są czerwone i nie wiadomo, gdzie prowadzą) --[[Wikipedysta:Lethern|Lethern]] 15:34, 16 lip 2009 (CEST) Podsumuję - jeśli strona była długo usuwana, przenosisz ją - wtedy nie ustawiamy EK, ponieważ zrywa się linki np. z google (jeśli jakieś zdążyły powstać), czy z innych stron, oraz z linków wewnętrznych (wzory itd. w innych modułach). Jeśli jednak zmiana była krótko po utworzeniu modułu, sprawdzone są linki i poprawione (nie ma linkujących), to stara strona (z redirectem) może dostać EK. wstawianie tego szablonu nie jest ważne, a do tego sprawia problemy, jak widać --[[Wikipedysta:Lethern|Lethern]] 15:39, 16 lip 2009 (CEST) == Poprawianie == Zrobiłem ostatnio poprawki tu: [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna/Momenty_statystyczne_w_działaniu&curid=14030&diff=103990&oldid=102011 Momenty statystyczne], gdzie nie gdzie zmieniałem całe zdania, najlepiej sprawdź czy sens jest zachowany. Jeśli nie, daj znać, wyjaśniając o co w zdaniu chodziło --[[Wikipedysta:Lethern|Lethern]] 09:37, 17 lip 2009 (CEST) == Przepełnienie szablonów == Wygląda na to że jednak musisz ograniczyć liczbę zawartych szablonów, choćby ze względów czasowych - strony z przesadną ilością szablonów wyświetlają się tragicznie długo. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:58, 2 sie 2009 (CEST) == Zmiana nazwy użytkownika == Proszę cię, żebyś na Wikipedii zalogował się jako Persino i odpisał mi na ostatnią wiadomość. Pozdrawiam, --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 11:31, 8 lis 2009 (CET) : Witam. Sprawdź, czy z globalnym loginem jest wszystko w porządku (trochę niepotrzebnie tworzyłeś tu to konto Persino) i daj mi znać. Jeśli nie będzie problemów, zablokuję konto Persino, żeby ktoś się pod ciebie nie podszywał. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:07, 8 lis 2009 (CET) == kopiowaine == Przenoszenie materiału z wikipedii - administrator ma taką możliwość (funkcję) przenieść moduł razem z listą autorów / zmian. Myślę, że wystarczy napisać do jakiegoś aktywnego administratora. --[[Wikipedysta:Lethern|Lethern]] 15:21, 13 lis 2009 (CET) == Działania na wektorach == Edytowałem moduł [[Metody_matematyczne_fizyki/Działania_na_wektorach|Działania na wektorach]], mniej więcej do połowy przejrzałem. W jednym miejscu zaznaczyłem pochyłą czcionką coś, czego nie mogę rozczytać. Sprawdź, czy moja edycja nie zmieniła sensu tekstu ;) --[[Wikipedysta:Lethern|Lethern]] 03:30, 16 lis 2009 (CET) == [[Wikibooks:Strony do usunięcia]] == Witaj! cieszę się, że myślimy podobnie :-) Wikibooks, to bardzo specyficzny projekt (w ogóle wiki-projekty nadają się do badań socjologicznych i antropologicznych): mamy mało zarejestrowanych użytkowników, jeszcze mniej administratorów, wiele słomianego zapału i dużo anonimowych szkolnych edycji. Na szczęście - i myślę, że jeszcze przez długi czas - będzie to do opanowania (patrząc choćby po niemieckich Wikibooksach). Tym bardziej biorąc pod uwagę aktywność Panterki :-) Życie na Wikibooksach toczy się wolniej i po roku na Wikipedii, czuję się tutaj, jak na wsi. Ten projekt ma też kolosalną zaletę, której nie ma Wikipedia (o czym już kilkukrotnie rozmawiałem z Przykutą): łatwo odnaleźć pożądaną stronę i nie ma plątaniny meta-stron, stron-pomocy, pod-stron, hiper-stron itp. (jedynie szablony należy moim zdaniem uporządkować). Strony pomocy w Wikipedii to chaos a Wikibooksy nie są "obudowane" całą techniczną i społecznościową otoczką (na szczęście). Wracając do tematu: musimy ustalić konkretne zasady usuwania modułów, pojedynczych stron i całych podręczników. W przeciwnym razie będziemy mieli nadal mało kompletnych podręczników a mnóstwo sporów i wielu zrażonych początkujących użytkowników, którzy mogliby stać się autorami fachowych podręczników. Unikniemy też takich podziałów wśród autorów, jakie są na Wikipedii, gdzie co rusz padają oskarżenia o "układ" i "grupę trzymającą władzę". Podsumowując: idea Wikibooksów jest genialna a nic tak nie podbudowuje ego, jak pierwsze miejsce podręcznika w wyszukiwarce Google. Nie można więc marnować czasu na spory. Kończę, bo coś się rozgadałem... Pozdr! [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:35, 18 lis 2009 (CET) == [[Metody matematyczne fizyki/Logika matematyczna]] == Żadna strona nie linkuje do strony, którą dałem w temacie, umieść ją w jakimś spisie, bo możesz jej nie znaleźć w przyszłości ;) --[[Wikipedysta:Lethern|Lethern]] 03:39, 20 lis 2009 (CET) == [[Wikibooks:Przyznawanie uprawnień]] == Hej! poparłem Ciebie w głosowaniu (szkoda, że póki co wzięły w nim udział dwie osoby...). Dałem też ogłoszenie na Tablicy ogłoszeń - w końcu kandydat na admina, nie zdarza się często. Powinieneś zorganizować jakiś lobbying albo kampanię wyborczą :-) [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:22, 28 lis 2009 (CET) == pisanie podręczników == To dobre poprawki, jeśli chodzi o szablony. Z botem też ciekawy pomysł, jeśli umiałbyś go napisać, to zaoszczędziłby i Tobie dużo czasu, dużo poprawek, i rozwinął Wikibooks. Nie wiem, czy ktoś z zewnątrz by to pochwycił (np. w innych wikibooks), ale wystarczy, że u nas byłby niezłym krokiem do przodu. Ja akurat nie pisałem nigdy 'bota www' ;) --[[Wikipedysta:Lethern|Lethern]] 19:04, 29 lis 2009 (CET) == pewna edycja == Ktos dokonał takiej edycji: [http://pl.wikibooks.org/w/index.php?title=Fizyka_statystyczna/Cykle_(obiegi)_termodynamiczne&action=historysubmit&diff=114323&oldid=113019] --[[Wikipedysta:Lethern|Lethern]] 15:21, 30 lis 2009 (CET) :Rzecz w tym, że nie mogę cofnąć edycji, jeśli nie wiem czy jest ona poprawna czy jest błędna. Jedyne co mogłem zrobić to zgłosić ten fakt Tobie, żebyś ew. Ty ją cofnął, ponieważ masz większą wiedzę w tej dziedzinie ;) --[[Wikipedysta:Lethern|Lethern]] 21:03, 30 lis 2009 (CET) == [[Fizyka teoretyczna]] == Stworzyłem taki moduł, [[Fizyka_teoretyczna/Koordynacja]]. Na razie umieściłem tam tylko rzeczy, które mogą się dla mnie przydać. Jeśli chcesz, możesz tam dodać działy według swojego pomysłu i potrzeb --[[Wikipedysta:Lethern|Lethern]] 21:41, 30 lis 2009 (CET) == [[Dyskusja_Wikipedysty:79.190.12.155]] == Hmm, pomyśl globalnie. Czy ta edycja była wandalizmem, czy nieuwagą? Czy blokada IP "na zawsze" jest dobrą opcją z powodu jednej edycji? Czy wziąłeś pod uwagę, co się stanie, jeśli jest to IP komputera na uczelni? Nie ma potrzeby sięgać po tak drastyczne środki ;) --[[Wikipedysta:Lethern|Lethern]] 01:53, 1 gru 2009 (CET) == Administrator == Gratuluję, przyznałem Ci uprawnienia administracyjne. [[Wikipedysta:Reytan|Reytan]] 20:51, 11 gru 2009 (CET) * Pozwolę sobie dołączyć się do powyższych gratulacji :-) [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 23:19, 11 gru 2009 (CET) == Plik:Wikipedia pl logowanie mam konto.png == Cześć. usuniesz mi tą grafikę czy nie? [[Specjalna:Wkład/81.190.246.187|81.190.246.187]] 18:30, 13 gru 2009 (CET) :Nie wiem, co to za wpis, ale zignoruj go. Grafika jest użyta w 2 modułach. --[[Wikipedysta:Lethern|Lethern]] 14:27, 14 gru 2009 (CET) == EK == Zerknij do tej [[:Kategoria:Ekspresowe kasowanie|kategorii]], bo liczba haseł oczekujących na skasowanie znacząco rośnie. [[Wikipedysta:Viatoro|Viatoro]] 19:09, 28 gru 2009 (CET) == pozostałości starych modułów Fizyki Teoretycznej == Takie moduły znalazłem, które chyba się zapodziały (możliwe że któryś źle skojarzyłem), może Ci się ta lista przyda: *[[Fizyka_teoretyczna/Pochodne_wektorowe]] *[[Fizyka_teoretyczna/Wyznaczniki_funkcjonalne_i_ich_w%C5%82asno%C5%9Bci]] *[[Fizyka_teoretyczna/R%C3%B3wnania_r%C3%B3%C5%BCniczkowe]] *[[Fizyka_teoretyczna/Uk%C5%82ad_wsp%C3%B3%C5%82rz%C4%99dnych]] *[[Fizyka_teoretyczna/Obr%C3%B3t_uk%C5%82adu_wsp%C3%B3%C5%82rz%C4%99dnych]] *[[Fizyka_teoretyczna/Moment_p%C4%99du]] *[[Fizyka_teoretyczna/R%C3%B3wnanie_toru_dla_cia%C5%82a_w_polu_si%C5%82_centralnych]] *[[Fizyka_teoretyczna/Funkcje_kuliste]] *[[Fizyka_teoretyczna/Wielomiany_Legendre%27a]] *[[Fizyka_teoretyczna/Operatory_r%C3%B3%C5%BCniczkowe]] *[[Fizyka_teoretyczna/Rachunek_tensorowy]] *[[Fizyka_teoretyczna/Rozmaito%C5%9Bci_liniowe_i_ich_w%C5%82a%C5%9Bciwo%C5%9Bci]] *[[Fizyka_teoretyczna/Funkcje_uwik%C5%82ane]] *[[Fizyka_teoretyczna/Kula_zanurzona_w_przestrzeni_n-wymiarowej]] *[[Fizyka_teoretyczna/Zespo%C5%82y_statystyczne_w_fizyce_statystycznej_klasycznej]] *[[Fizyka_teoretyczna/Przestrze%C5%84_liniowa]] *[[Fizyka_teoretyczna/Pola_skalarne_i_wektorowe]] --[[Wikipedysta:Lethern|Lethern]] 20:42, 16 sty 2010 (CET) == po przerwie == Miło Ciebie widzieć po dłuższej przerwie. Sprawdź proszę taką dziwną stronę: [[Wikipedysta:Огірко_Ігор_Васильович]], dziś się pojawiła na Wikibooksach, a wygląda jak kopia z Wikipedii [http://pl.wikipedia.org/wiki/Wikipedysta:Ohirko_Igor Ohirko Igor] a jednocześnie [http://pl.wikipedia.org/wiki/Igor_Ohirko Igor Ohirko], co wydaje się jakimś nonsensem. [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 16:27, 12 lut 2010 (CET) * wyjaśniłem już wszystko w "Zgłaszalni błędów" na Wikipedii. Uznaliśmy, że skoro chodzi o strony użytkownika, to może on sobie tam wklejać co mu się podoba, nawet bezsensowną kopię artykułu o sobie z Wiki. [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 17:11, 12 lut 2010 (CET) == Fizyka == Cały podręcznik do fizyki teoretycznej był reorganizowany, a moduły przenoszone pod nowe adresy. Dotychczasowe dostawały eki i były kasowane. Nie jestem fizykiem i nie wiem, czy moduł ten [http://pl.wikibooks.org/wiki/Fizyka_statystyczna] różni się od tego [http://pl.wikibooks.org/wiki/Fizyka_statystyczna]. Jeśli są to dwa różne tematy, które nie powinny być zintegrowane, to przepraszam. A tak btw - "moduł" piszemy przez "u". [[Wikipedysta:Panterka|Panterka]] 22:09, 14 lut 2010 (CET) == Fizyka teoretyczna == Nie wiem, czy nie przeoczysz tego, więc wkleję link: [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna%2FFizyka_statystyczna%2FCykle_%28obiegi%29_termodynamiczne&action=historysubmit&diff=119150&oldid=114487 fizyka teoretyczna] --[[Wikipedysta:Lethern|Lethern]] 18:44, 16 lut 2010 (CET) Hm, przy rozdzielczości 1400x1050 wygląda trochę dziwnie, ale idzie się przyzwyczaić. Chyba zmiana na plus ; ) --[[Wikipedysta:Lethern|Lethern]] 23:52, 18 lut 2010 (CET) == [[Wikibooks:Strony do usunięcia]] == Witaj! mam prośbę do Ciebie jako admina: zerknij proszę na SdU, zrobiłem tam trochę porządków, zarchiwizowałem nieaktualne wpisy, ale przydałoby się, żebyś wypowiedział się w temacie: # [[Wikibooks:Strony_do_usunięcia#Informatyka_dla_szko.C5.82y_podstawowej.2FGadu-Gadu|Gadu Gadu]] (wg mnie do usunięcia) # [[Wikibooks:Strony_do_usunięcia#Biologia_dla_liceum.2FOrganizmy_najprostsze.2FWirusy|Wirusy]] (kopia z www.sciaga.pl i www.bryk.pl, mimo redakcyjnych poprawek) # [[Wikibooks:Strony_do_usunięcia#Stymulaty|Stymulaty]] (merytoryczna katastrofa, koniecznie do usunięcia) # [[Wikibooks:Strony_do_usunięcia#Tramwaje_w_Krakowie|Tramwaje w Krakowie]] (moim zdaniem do archiwizacji na stronie użytkownika a potem usunięcia. W razie czego chętnie podejmę się archiwizacji tego podręcznika. Będzie z tym co prawda sporo roboty, bo jest tam tych modułów, ale da się zrobić) # [[Wikibooks:Strony_do_usunięcia#Wprowadzenie_do_fizyki_kwantowej|Wprowadzenie do fizyki kwantowej]] (wisi w SdU od dawien dawna i straszy) # [[Wikibooks:Strony_do_usunięcia#Genealogia_Piast.C3.B3w|Genealogia Piastów]] (kompromitujące błędy merytoryczne) # [[Wikibooks:Strony_do_usunięcia#Tatry.2FSzczyty|Tatry]] (moduł nie był kwestionowany w trakcie akcji Sprzątanie Wikibooks, więc dyskusję możnaby ewentualnie uznać za zakończoną i zostawić to tak jak jest). # [[Wikibooks:Strony_do_usunięcia#J.C4.99zyk_.C5.9Bl.C4.85ski|Język śląski]] (dziś to wstawiłem i raczej trzeba należałoby poczekać, aż się Lethern i pozostawli wypowiedzą, co o tym myślą...) i to by było na tyle. Z góry dzięki za pomoc! [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:18, 7 mar 2010 (CET) == Księgozbiór == Jak myślisz, czy dobrym pomysłem byłoby scalenie w księgozbiorze sekcji "Astronomia" i "Fizyka" w jedną "Astronomia i Fizyka"? Podręczniki z tych działów się łączą, a dzięki temu dałoby się trochę odchudzić księgozbiór. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 17:46, 1 kwi 2010 (CEST) * zrobione, przy okazji ułożyłem sekcje alfabetycznie i dodałem tabelki. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:02, 1 kwi 2010 (CEST) == Wykresy == Napisz maila do Kuby Wagnera z Wolnych Podręczników (Kuba.Wagner@wolnepodreczniki.pl), którego znajdziesz na stronie: http://wiki.wolnepodreczniki.pl/Fizyka. Na niemieckich Wikibooks (http://de.wikibooks.org/wiki/Regal:Physik), w sekcji "Fizyka stosowana" (jeśli dobrze tłumaczę) jest coś takiego, jak "Użycie energii atomowej", ale tam nic nie ma. Jeśli chcesz, to mogę rzucić wątek szukania wykresów na niemieckim Wikiwersytecie (http://de.wikiversity.org/wiki/Fachbereich_Physik). Niestety też nie zauważyłem nic o fizyce jądrowej na niemieckich Wikiźródłach (http://de.wikisource.org/wiki/Kategorie:Physik). Z ciekawości zobacz sobie na "Mechanikę kwantową" (chyba, że znów mylę tłumaczenie): http://de.wikibooks.org/wiki/Quantenmechanik. Chyba, że fizyka jądrowa z Commons coś Tobie pomoże (http://commons.wikimedia.org/wiki/Category:Nuclear_physics) razem z odnośnikami z angielskiej Wiki (http://en.wikipedia.org/wiki/Nuclear_physics) i kategoria fizyka jądrowa (http://en.wikibooks.org/wiki/Category:Nuclear_Physics). To wszystko co mi przyszło do głowy. Pozdrawiam w świątecznym nastroju :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:00, 3 kwi 2010 (CEST) == Zgłoszenie co do podręcznika == Zapoznaj się z tym [http://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikipedysty%3AViatoro&action=historysubmit&diff=123773&oldid=123660]. [[Wikipedysta:Viatoro|Viatoro]] ([[Dyskusja Wikipedysty:Viatoro|dyskusja]]) 14:27, 16 kwi 2010 (CEST) :Ależ ja nic nie mówię, tylko zgłaszam co wylądowało w mojej dyskusji :) Robiłem wykład związany z wikibooks i ludzie z innych projektów głównie mnie kojarzą jako osobę kontaktową. [[Wikipedysta:Viatoro|Viatoro]] ([[Dyskusja Wikipedysty:Viatoro|dyskusja]]) 19:32, 16 kwi 2010 (CEST) == fizyk teoretyczna== Moje ostatnie poprawki: [http://pl.wikibooks.org/w/index.php?title=Metody_matematyczne_fizyki/Rachunek_tensorowy&action=historysubmit&diff=124372&oldid=124282 Rachunek_tensorowy]. Poza tym [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna&curid=14032&diff=124370&oldid=124022 strona główna]. Mam nadzieję, że żadnych wadliwych poprawek nie wprowadziłem, jak coś to sprawdź. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:15, 16 kwi 2010 (CEST) == Eki == Witaj :) Widzę, że jesteś aktywny, więc pozwolę sobie mieć prośbę - czy mógłbyś sprzątnąć eki? Bardzo dawno nikt ich nie kasował i całkiem sporo się ich nazbierało. Z góry dzięki i pozdrowienia serdeczne :) [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 17:21, 6 maj 2010 (CEST) == informacja == Uważaj trochę co robisz. Skasowałeś moduł [[Matematyka dla liceum/Trygonometria]], który nie miał (wbrew pozorom) ek, jedynie miał moduł który miał ek, ale on sam nie powinien być skasowany. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 17:03, 22 maj 2010 (CEST) == Szablony: {{s|StronaStart}} i {{s|StronaKoniec}} == Już miałem Ciebie informować, że ktoś o anonimowy grzebał przy stworzonych przez Ciebie szablonach, ale zreflektowałem się, że to przecież Ciebie wylogowało i edytowałeś anonimowo :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:07, 12 cze 2010 (CEST) == ekowanie == Hej :) Wiem, że sprzątałeś eki, ale proszę jeszcze o skasowanie [[Matematyka dla liceum/Funkcje wymierne/Rozwiązywanie równań powiązanych z funkcją homograficzną|tego]] - wyjątkowo paskudny wandalizm, więc im szybciej poleci, tym lepiej :) Z góry dzięki i pozdrawiam serdecznie, [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 20:31, 13 cze 2010 (CEST) == Szczerę podziękowanie == Bardzo dziękuje za posprzątanie kategorii ek. O wiele lepiej teraz to wygląda :). Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 07:59, 1 lip 2010 (CEST) == Prośba == Proszę o przesłanie plików twojego/Pana autorstwa do Wikimedia Commons, gdzie będą w wszelkich projektach Wikimedia. Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 08:05, 1 lip 2010 (CEST) == Ek ciąg dalszy == Można by było posprzątać kategorię? Znalazłem ponad 130 plików, które albo są na Commons, nie są używane lub po prostu są błędne. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 19:35, 1 lip 2010 (CEST) :Dziękuje za posprzątanie. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 09:26, 3 lip 2010 (CEST) == Fizyka teoretyczna == czemu nie, jak coś będę zmieniać, to dam znać. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 13:52, 13 lip 2010 (CEST) Na stronie: http://pl.wikibooks.org/wiki/Metody_matematyczne_fizyki w nagłówku proponuję poprawić styl. Jest: "Jest to teoria o polach wektorowych i skalarnych, na które działamy pewnymi operacjami różniczkowymi." Proponuję zrobić: "... na które oddziałujemy pewnymi operacjami różniczkowymi" lub "na których działamy pewnymi operacjami różniczkowymi". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:49, 14 lip 2010 (CEST) == redirecty == Usuwanie redirectów nie jest potrzebne (wszystkie usunięte strony i tak zostają na serwerze zarchiwizowane), a do tego może narobić problemów. Tak jak już ludzie pisali, jeśli jakaś zewnętrzna strona linkowała, to teraz linkuje do nieistniejącej strony... Podobnie z usuwaniem stron plików, nie wiem czy jest to potrzebne, skoro wszystko na serwerze i tak zostaje. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 19:49, 15 lip 2010 (CEST) * Proszę, przestań nadużywać przenoszeń stron i usuwania --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 02:42, 7 sie 2010 (CEST) == Re:Fizyka teoretyczna == Mogę pomóc, ale jednocześnie informuje iż chwilowo mam dostęp do komputera, a jeszcze dziś wyjeżdżam na wakacje. Jak wrócę 25 lipca zajmę się tym. Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 07:29, 16 lip 2010 (CEST) == [[Metody matematyczne fizyki/Rachunek tensorowy]] == Dokonałeś zmiany *nazywamy obiekt który transformuje się ze zmiennych starych, których ilość wynosi ''m'' na *nazywamy obiekt, który transformuje się ze zmiennych starych, których ilość zmiennych jest ''m'' Cofnąłem tę zmianę, żeby nie było powtórzenia tego samego słowa (ze zmiennych, których ilość zmiennych jest). Nie umiem ocenić ani poprawić poniższych tekstów (i nie wiem, czy są poprawne, może są): *Dla przykładu podamy jak się transformuje tensor o dwóch wskaźnikach, dla dwóch zmiennych zapisanej w konwencji Einsteina. *A transformację tensora z jednych współrzędnych do drugich o dwóch wskaźnikach dla m zmiennych zapisanej w konwencji Einsteina. *Dla przykładu podamy jak się transformuje jako tensor o dwóch wskaźnikach, dla dwóch zmiennych zapisanej w konwencji Einsteina: *A transformację tensora z jednych współrzędnych do drugich o dwóch wskaźnikach dla m zmiennych zapisanej w konwencji Einsteina piszemy: Swoją drogą, zauważyłem że często powtarzasz pewne ważniejsze rzeczy w zdaniu, co czasem owocuje powtórzeniami (jak na początku powyższego wpisu wspomniałem). Mimo wszystko staram się usuwać takie powtórzenia, żeby tekst nie brzmiał jak "Poniżej napiszemy wektory, wzięte ze wzoru abc, które to wektory zapiszemy poniżej". W razie czego jestem otwarty na dyskusję. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 15:33, 16 lip 2010 (CEST) == [[Metody matematyczne fizyki/Działania na wektorach]] == *"W układzie współrzędnych w przestrzeni n-wymiarowej nazywamy n-prostych, zwanych osiami, przecinających się w jednym punkcie, zwanym punktem zerowym, którego współrzędne są równe (0,0,...,0). " To zdanie nie ma sensu. "W układzie nazywamy n prostych, zwanych osiami". Jeśli umiesz, popraw je. Może chodziło o *"W układzie współrzędnych w przestrzeni n-wymiarowej mamy n-prostych, zwanych osiami, przecinających się w jednym punkcie, zwanym punktem zerowym, którego współrzędne są równe (0,0,...,0). " --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 16:13, 16 lip 2010 (CEST) * zmieniłem styl w tym zdaniu, mam nadzieję, że na dobry :-) a czy mogę też dodawać linkido Wikipedii? brakuje mi też wyjaśnienia (proponuję w formie przypisu) co to jest "n-wymiarowa baza kanoniczna", a potem w sekcji "Iloczyn wektorowy" co to jest "układ kartezjański". Pozdr. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:33, 16 lip 2010 (CEST) == Metody matematyczne fizyki/Rachunek tensorowy == * W sekcji "Definicja prostego tensora metrycznego" brakuje mi wyjaśnienia, co to jest "długość infinitezymalna". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 11:50, 17 lip 2010 (CEST) * A widzisz, Ty to wiesz, a ja nie; myślę, że gdybyś wstawiał od czasu do czasu takie krótkie, celne wyjaśnienia w formie przypisów, to mogłoby to wzbogacić podręcznik. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:05, 17 lip 2010 (CEST) * W sekcji "Tensor Riemanna-Christoffela (tensor krzywizny) zdefiniowany przy pomocy tensorów metrycznych" coś brzmi dziwnie: "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy za tensory Christoffela zdefiniowanej wedle wzoru (2.82) i w końcu otrzymujemy wzór zależny tylko od pochodnych cząstkowych tensora metrycznego, co po jego zastosowaniu:" proponuję zmienić: "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy za tensory Christoffela zdefiniowane wedle wzoru (2.82)" <br>albo "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy zamiast tensorów Christoffela zdefiniowanych wedle wzoru (2.82)"<br> i nie wiem, jak jest prawidłowo bo "za" to nie to samo co "zamiast". Zresztą - ta sekcja jest wymiatająca i wymiękłem na niej :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:57, 17 lip 2010 (CEST) == Odp:Fizyka teoretyczna == ;[{{fullurl:Dyskusja_Wikipedysty:Magalia|oldid=133697}}#Fizyka_teoretyczna Odp:Fizyka teoretyczna] Hej :) Oczywiście bardzo chętnie pomogę. W miarę możliwości oczywiście, bo obawiam się, że fizyka mnie odrobinę przeraża, więc może być ciężko ;) Ale oczywiście zrobię co w mojej mocy. Pozdrowienia serdeczne. [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 23:57, 17 lip 2010 (CEST) Cześć, niestety brak czasu nie pozwala mi zaangażować się w prace. Powodzenia --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 11:07, 18 lip 2010 (CEST) * Wydaje mi się, że ewentualna zmiana "na podstawie" na "według" zależy od czyichś preferencji stylistycznych. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:59, 25 lip 2010 (CEST) Dziękuję za zaproszenie, ale obowiązki zawodowo-studenckie uniemożliwiają mi poświęcenie odpowiedniej ilości czasu na ten projekt. Swoją drogą - doskonała robota. Mało tutaj tak ciekawych podręczników na tak wysokim poziomie ;-). Pozdrawiam, --[[Wikipedysta:Kj|Kj]] ([[Dyskusja Wikipedysty:Kj|dyskusja]]) 22:07, 28 lip 2010 (CEST) == Metody_matematyczne_fizyki/Układ_współrzędnych == Wiesz, brakuje mi, w w/w module wyjaśnienia co to takiego jest "Jakobian", o którym jest mowa w sekcji "Jakobian przejścia". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:33, 11 sie 2010 (CEST) * to jakieś czary :-) * bo to czarna magia, a Ty czarodziej jesteś. A tak na poważnie: myślałeś może, żeby dodać do podręcznika krótkie biogramy fizyków, o których wspominasz? * raczej chodziło mi o dodanie do istniejących modułów krótkich biogramów. Jak się uwinę ze swoim podręcznikiem, to wstawię z jeden modelowy biogram i zobaczymy, czy to będzie w porządku, ok? == podręczniki Fizyki teoretycznej == Jak Ci się podoba nowy spis treści? Może taki być? [[Fale]] (łatwiej się poruszać z pierwszego spisu treści w ramce, oraz łatwiej widać poziomy drzewka) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 21:01, 13 sie 2010 (CEST) * Dodałem do wszystkich podręczników nowy spis treści, a także informacje o Bibliografii i Licencji (osobno, w razie czego możesz cofnąć / zmienić). Koordynację też uzupełniłem. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:22, 14 sie 2010 (CEST) * Zastosowałem taką regułę, aby pogrubiać wszystkie linki, które prowadzą do nowych stron (dzięki temu, jeśli ktoś chce otworzyć wszystkie strony, musi kliknąć we wszystkie linki pogrubione). Część z nich jest pogrubiana jako nagłówki, resztę wyróżniłem wewnątrz, np. [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna&action=historysubmit&diff=136572&oldid=136559 tu ]. Natomiast tu ta sama strona miała 2x pogrubienie, więc jedno usunąłem [http://pl.wikibooks.org/w/index.php?title=Elektrodynamika_klasyczna&action=historysubmit&diff=136573&oldid=136560 historia]. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 10:50, 14 sie 2010 (CEST) Nie można przejść obojętnie obok ilości pracy, jaką wkładasz w rozwój podręczników o fizyce i matematyce: [http://pl.wikibooks.org/w/index.php?title=Wikipedysta%3APersino&action=historysubmit&diff=137194&oldid=114782 diff] :) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 23:34, 17 sie 2010 (CEST) == Kategoria:Eksporesowe kasowanko == [[:Kategoria:Ekspresowe kasowanie|Proszę o posprzątanie kategorii]]. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 16:10, 17 sie 2010 (CEST) :Dziękuje! [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 18:49, 17 sie 2010 (CEST) == Fizyka teoretyczna == Witaj! Chwilowo, w związku z innymi zobowiązaniami, niestety nie mogę przyłączyć się do projektu. Ale życzę owocnej pracy i pozdrawiam -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 18:41, 22 sie 2010 (CEST) == Program do grafiki == Niestety na grafice nie znam się. Wydaje mi się, że to jakiś program do edycji grafiki wektorowej, może coś wygooglujesz albo znajdziesz tutaj: [http://pl.wikipedia.org/wiki/Kategoria:Edytory_grafiki_wektorowej], ewentualnie pokaż to i spytaj kogoś znającego się na tym :) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 01:53, 23 sie 2010 (CEST) == [http://pl.wikibooks.org/wiki/Metody_matematyczne_fizyki/Obrót_układu_współrzędnych Obrót układu współrzędnych] == Mam problem z tym zdaniem: "Spróbujmy napisać transformacje obrotu punktu dla przestrzeni dwuwymiarowej odwrotnie ze wskazówkami zegara o kąt α, którego transformacje punktów z układu walcowatego do euklidesowego, którego transformacja współrzędnych układu walcowego na kartezjańskich piszemy wzorami i , to nowe współrzędne powstają, gdy podczas obrotu naszego punktu (x,y) do punktu (x',y'), gdy dokonamy transformacji, które piszemy:" : jest nieco niegramatyczne i nie wiadomo o co, w nim chodzi. Za dużo w nim wyrazów "który / która / które". Czy da się je podzielić na krótsze zdania? [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 03:23, 24 sie 2010 (CEST) == alfabet grecki == Tylko tyle widzę w internecie: [[w:Alfabet_grecki#Alfabet_grecki_w_HTML]] - &Phi; &phi; : Żeby zapisać małe - tzn.? Może użyć jakiegoś tagu zmieniającego wielkość czcionki? Typu < small> albo indeks dolny --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:49, 25 sie 2010 (CEST) Ewentualnie Unicode: [[s:Unicode/Grecki_i_koptyjski]]; [[s:Unicode/Grecki_rozszerzony]] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:53, 25 sie 2010 (CEST) == Metody_matematyczne_fizyki/Funkcje_Greena == [[Metody_matematyczne_fizyki/Funkcje_Greena]] Nie udało mi się rozczytać w pełni: *''Rozwiązaniem równania różniczkowego (20.1) są rozwiązania w postaci pełnych funkcji w stosunku (20.6), która jest sumą rozwiązania jako ostatnio wspomnianego i funkcji , która jest iloczynem operatora \hat{O}\;, i funkcji \psi(\underline{x})\;, którego jako całość jest równa zero, co na podstawie tychże rozważań całkowitą nasze rozwiązanie naszego równania różniczkowego jest'' *''W wyrażeniu całkowym (20.7), funkcja \psi_0(x)\; występuje funkcja, która jest rozwiązaniem równania jednorodnego własnego operatora \hat{O}\;, którego przepis'' Zobacz czy inne poprawki są ok --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 01:45, 25 sie 2010 (CEST) * Musze przyznać, że nie bardzo orientuje się we własnościach intelektualnych. Może spróbuj wygooglować, albo na Wikipedii spytać? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:53, 29 sie 2010 (CEST) == prośba do administratora == Czy mógłbyś: *usunąć stronę [http://pl.wikibooks.org/w/index.php?title=Dinozaury/Ceratopsy&redirect=no] *usunąć stronę [http://pl.wikibooks.org/w/index.php?title=Wikipedysta:Michczu&redirect=no] Potrzebne to jest, żeby cofnąć przeniesienie stron --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 15:31, 31 sie 2010 (CEST) == Wzory == Wg tego artykułu [http://meta.wikimedia.org/wiki/Help:Displaying_a_formula#Relations] jest to \ll i \gg (<math>\ll i \gg</math>) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 03:09, 5 wrz 2010 (CEST) <del>Wg np. tej strony [http://barzilai.org/math_sym.htm] nie ma takiego symbolu w HTML --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]). 18:33, 5 wrz 2010 (CEST)</del> Zrobiłem [[Wikipedysta:Lethern/Test|tablice symboli html]], interesujące jest: 187: &#187; oraz 171: &#171; (& #187; i & #171;) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:45, 5 wrz 2010 (CEST) == ws. wykresu == wiesz, nigdy nie robiłem wykresów, więc mogę mieć z tym problem :-( z ciekawością natomiast zaglądam do [[Fizyka teoretyczna/Koordynacja]] i ciągle pamiętam o moim pomyśle dodawania biogramów fizyków. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 01:28, 6 wrz 2010 (CEST) == Prośba == Hej :) Zintegrowałam treść stron [[Książka kucharska/Ciasto naleśnikowe]] i [[Książka kucharska/Naleśniki]]. Czy mógłbyś połączyć historię tych modułów? Ale nie kasuj potem ciasta naleśnikowego - niech zostanie jako redirect, ok? Z góry dzięki i pozdrawiam serdecznie :) [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 22:08, 8 wrz 2010 (CEST) == QuickEdit == Przejrzałem [[w:Wikipedia:Kawiarenka/Kwestie_techniczne|Tę stronę]] przy pomocy przeglądarkowej Szukaj "QuickEdit", i na szybko znalazłem, że może być temu winna skórka Vector (można ją w preferencjach wyłączyć), ale może znajdziesz w tym wątku więcej informacji (dodatkowo jest na niemieckiej wersji QuickEdit [http://de.wikipedia.org/wiki/Benutzer_Diskussion:ASM ta strona], piszą tam po angielsku) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:58, 11 wrz 2010 (CEST) == Fizyka teoretyczna ponownie == Rozumiem, że liczy się dla Ciebie opinia innych, aby pisać jeszcze lepiej i zrozumialej podręczniki. Też tak miałem, gdy pisałem swoje teksty do podręczników dla liceum. Do oceny dobre by były osoby, które próbowały by się nauczyć czytając te moduły. Ja czytałem podręcznik tylko w celu poprawienia zdań, więc nie zastanawiałem się, czy wszystko rozumiem, no i przeczytałem tylko mały kawałek całego materiału. Możesz spróbować uderzyć z propozycją gdzieś do ludzi. Takich, którzy albo a) zapoznają się z częścią, którą poprawialiśmy lub b) będą w stanie czytać podręczniki niepoprawiane. Gdyby udało się kogoś znaleźć, miałbyś pewnie dobrą ocenę, a komentarze i uwagi przydałyby się dodatkowo też mnie i Karolusowi, co byśmy również mogli poprawiać moduły. Gdzie kogoś takiego znaleźć? Może na Wikipedii, na jakimś forum matematycznym (fizycznym), na uczelni ogłoszenie możesz dać.. Problem jest właśnie z językiem, nie zdążyliśmy poprawić więcej jak 5% modułów, więc może to pewną grupę ludzi odstraszać, w przyszłości będzie łatwiej o czytelników. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 09:40, 12 wrz 2010 (CEST) * Moim zdaniem Twój podręcznik jest pisany przystępnym językiem naukowym, ponieważ masz rzadką umiejętność płynnego przechodzenia w opisach od jednego wzoru do następnego. Dzięki czemu Twój wykład jest logiczny. Budujesz logiczną i przejrzystą strukturę podręcznika. Prowadzisz czytelnika od wzorów prostych do rozbudowanych. Ponadto każdy moduł zamykasz ostatecznym wzorem, który jest ładną puentą tekstu. Dzięki temu każdy podrozdział tworzy zamkniętą całość. Jest to przydatne dla kogoś, kto chce nauczyć się określonego wycinka Fizyki teoretycznej. Jedyne, co można by było dopracować od strony literackiej, to kwestie gramatyki i stylu. Czasem też sygnalizowałem Tobie konieczność wyjaśnienia pewnych terminów, które dla fizyków są oczywiste, jednak objaśnienie ich w formie przypisów nikomu by nie zaszkodziło. Jednakże to możesz sobie zostawić na koniec, gdy już napiszesz wszystkie moduły. Radziłbym wtedy wziąć wiki-urlop (minimum tydzień), wrócić do komputera i przejrzeć na nowo cały tekst. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 15:15, 12 wrz 2010 (CEST) == Format svg i Openoffice draw == Kilka linków: [http://komputery.wip.pl/excel-i-aplikacje-biurowe/rozszerzenie-mozliwosci-openofficeorg-o-obsluge-formatu-svg,95,264155,0,195194,0.html], [http://haumacher.de/svg-import/], linki z [http://wiki.services.openoffice.org/wiki/SVG_Import_Filter#External_implementation] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 10:58, 19 wrz 2010 (CEST) == [[Szablon:StronaKoniec]] == Odnośnie tej edycji: [http://pl.wikibooks.org/w/index.php?title=Szablon%3AStronaKoniec&action=historysubmit&diff=136567&oldid=121717], czy jest ona konieczna? Są utworzone dwie tabelki "spis treści", dwa razy jest wyraz "pokaż/ukryj", i trzeba specjalnie kliknąć, aby ten spis był widoczny. Chyba, że to ukrycie było zamierzone. Może w takim razie zrobić dodatkowy argument w szablonie, który pozwala wybrać, czy spis treści ma być normalnie, czy w zwiniętej tabelce, co by pogodziło oba sposoby, bo można sobie wybrać? Jak Ty to widzisz? Pozdrawiam --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 16:47, 19 wrz 2010 (CEST) * [http://pl.wikibooks.org/w/index.php?title=Szablon%3AStronaKoniec&action=historysubmit&diff=141163&oldid=136567] wydaje mi się, że to było lepsze. Jeśli czegoś brakuje dla Ciebie, to można próbować dodać wersję zwykłą i alternatywę --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:51, 19 wrz 2010 (CEST) * Szukałem, ale nic nie znalazłem, jak zrobić aby mogło to być domyślnie ukryte. Nie wiem, co z tym zrobić, dodać parametr, żeby obie wersje były dostępne (z tabelką ukrywającą, jak wcześniej, i bez tabelki)? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:14, 19 wrz 2010 (CEST) ==Przeniesienia artykułów z historią autorów== Zerknij na stronę [[Wikibooks:Import stron]] -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:51, 24 wrz 2010 (CEST) == Poprawianie rysunków == Przykro mi, nie znam się na tym ani trochę :-( [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:19, 24 wrz 2010 (CEST) * pomyślę, a koło niedzieli popytam ludzi działających na Commonsach. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:33, 24 wrz 2010 (CEST) * dałem wczoraj informację o Twojej propozycji poprawiania rysunków na Tablicy ogłoszeń Wikipedii. Myślę, że tak szybciej znajdą się osoby potrafiące to robić. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 07:28, 28 wrz 2010 (CEST) :: Hej. :) O jakie konkretnie działania chodzi? Mogę pomóc w przerabianiu wykresów do SVG w Inkscape. -- [[Wikipedysta:CLI|CLI]] ([[Dyskusja Wikipedysty:CLI|dyskusja]]) 09:44, 29 wrz 2010 (CEST) :Zerknij [http://www.elisanet.fi/~d635415/webroot/Octavesvg/index.html tutaj] - to jest program do wykonywania SVG bezpośrednio z kodu Matlaba/Octave. Jak znajdą się chętni to możesz im polecić to narzędzi - lepiej kreślić funkcje przez matlaba niż w "Paintowy" sposób w InkScape. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:45, 29 wrz 2010 (CEST) :Konwersji można dokonywać albo w GdkPixbuf albo InkScape - ręcznie lub automatem przez otwarcie grafiki PNG i jej wektoryzację (funkcja programu "wektoryzuj bitmapę") i następnie zapis do pliku SVG - tylko automaty różnie mogą się zachowywać przy cienkich liniach czy wykresach - trzeba eksperymentować, lub ponoć (nie testowałem tego sposobu) po otwarciu PNG i jego wyeksportowaniu do SVG (ale podejrzewam ze to będzie SVG ale nadal z osadzoną grafiką rastrową. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 01:32, 2 paź 2010 (CEST) == Księgozbiór == Mam trochę wątpliwości: "Fizyka teoretyczna" i " Metody numeryczne fizyki" powinny być w tabelce "Niedokończone podręczniki". Streszczenia bym poprawił pod kątem stylu; czyli np. przy "Szczególnej teoria względności" zamiast: "Jest to dział fizyki zajmujących się przede wszystkim ruchem ciał poruszających się z prędkościami porównywalnymi z prędkością światła w próżni", to: "Podręcznik opisuje szczególną teorię względności, czyli dział fizyki zajmujący się przede wszystkim ruchem ciał poruszających się z prędkościami porównywalnymi z prędkością światła w próżni". Spróbuję siąść do tego na tygodniu przed urlopem. No i brakuje obrazków. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:22, 26 wrz 2010 (CEST) * Zerknij na poprawki: [[Wikibooks:Księgozbiór#Nauki_ścisłe_i_przyrodnicze]]. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 08:03, 28 wrz 2010 (CEST) == Metoda kolejnych poprawek trójmianu kwadratowego - metoda Bairstowa == Hej - nie znam tej metody i tylko "na szybko" rzuciłem okiem na 2 pierwsze równania i nie jestem pewien czy dobrze widzę - ale, przyjmując (3.95) za słuszne, już w 2 linijce wzoru (3.96) masz błąd przy wymnażaniu składnika <math>q_i</math> z nawiasem <MATH>(b_0z^{n-2}+b_1z^{n-3}+...+b_{n-1})</MATH>. Wyciągasz <math>z</math> przed nawias, ale nie degradujesz potęgi w wyrażeniu pod nawiasem więc zamiast wyrażenia: <MATH>zq_i(b_0z^{n-3}+b_1z^{n-4}+...+b_{n-2})</MATH> otrzymałeś <math>zq_i(b_0z^{n-2}+b_1z^{n-3}+...+b_{n-2})</math>. Następnie grupujesz je według Twojego obliczenia. Sprawdź czy to pojawienie się znikąd tego jednego 'zeta' nie było przyczyną problemu i innego wyniku. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:51, 30 wrz 2010 (CEST) == Mechanika kwantowa == Witaj! Znalazłem pominiętą stronę podręcznika: [[Mechanika_kwantowa/Funkcje_i_równania_falowe/Równanie_Kleina-Gordona]]. Czy będzie przydatna jeszcze? Jeśli nie wstaw szablon EK. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:54, 3 paź 2010 (CEST) == Porzucone grafiki == Czy [[:Plik:Schemat_blokowy_licznika_z_komorą_jonizacyjna.png]] oraz [[:Plik:Czynnik Debye'a-Wallera.png]] będą jeszcze potrzebne - czy można je usunąć? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 16:58, 4 paź 2010 (CEST) == Prośba == Czy możesz usunąć stronę (przekierowanie) [http://pl.wikibooks.org/w/index.php?title=Lo%C5%BCban/Wymowa&redirect=no]? Z góry dzięki --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 14:42, 7 paź 2010 (CEST) == Licencja == W swoich książkach umieściłeś wzmiankę o licencji GNU. Jednak brzmi to trochę tak, jakby materiał był oparty tylko na licencji GNU, a jednak wszystko co jest na Wikibooks jest także oparte na licencji CC. Czyli Twoje teksty są na dwóch licencjach, jednej dodanej przez Ciebie jako autora i drugiej wynikającej z projektu. I czytelnik może wybrać sobie dowolną z tych dwóch. Choć tekst akapitu "licencja" brzmi trochę tak, jakby tego wyboru nie było i obowiązywała tylko GNU. Może by tak dodać wzmiankę o CC? ([[Wikibooks:Bar#Licencje_i_ok.C5.82adki|w barze]] trochę więcej wyjaśnień o 2 licencjach) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 22:19, 12 paź 2010 (CEST) == Re: Fizyka teoretyczna == Z wielką chęcią, choć jak widać na dacie twojego wątku na mojej dyskusji i tego widać że mam mało czasu, przyłączam się jeśli to aktualne, ale nie licz na systematycznośc! :) [[Wikipedysta:Jantoś|Jantoś]] ([[Dyskusja Wikipedysty:Jantoś|dyskusja]]) 17:57, 27 paź 2010 (CEST) : Czy to jest ok? [http://pl.wikibooks.org/w/index.php?title=Elektrodynamika_klasyczna%2FR%C3%B3%C5%BCniczkowe_i_ca%C5%82kowe_prawa_dla_elektrostatyki&action=historysubmit&diff=147299&oldid=135512] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:16, 26 lis 2010 (CET) * Pośpiesznie wycofałem tę [http://pl.wikibooks.org/w/index.php?title=Metody_numeryczne_fizyki/Ca%C5%82kowanie_numeryczne_funkcji_interpolacyjnej&diff=next&oldid=147376 edycję], ale gdybyś mógł sprawdzić czy jej ewentualnie nie zostawić.. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 14:15, 27 lis 2010 (CET) == awaria? == Persino wejdź natychmiast na [[Wikibooks:Bar]] i [[Pomoc:Spis treści]]. Wszędzie wyświetla mi się moduł, który właśnie edytujesz. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:40, 25 gru 2010 (CET) anulowałem swoje edycje, musiał wystąpić jakiś dziwny błąd systemu i przy dużej Twojej edycji nałożyła się ona na moje trzy drobne edycje, przywróciłem (mam nadzieję) już to do ładu. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:49, 25 gru 2010 (CET) == eki i blokady == wczorajsza awaria już się wyjaśniła. Lethern wziął świąteczny urlop, więc jakbyś miał chwilę, to usuń ek-i oraz odblokuj mi tą stronę: [[Wikibooks:O Wikibooks]]. Pracuję nad stronami pomocy i bardzo mi to ułatwi życie. Z góry dzięki [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:19, 26 gru 2010 (CET) == kolejne ek-i == wstawiłem eki-i w starych, nieużywanych i niepotrzebnych szablonach; czy mógłbyś je pousuwać, jak znajdziesz chwilę czasu? [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 09:16, 5 sty 2011 (CET) P.S. do usunięcia są jeszcze nieużywane pliki * http://pl.wikibooks.org/wiki/Plik:Żarówka.png * http://pl.wikibooks.org/wiki/Plik:Zwrot_kosztow_szkolen_niepelnosprawnych_2010.jpg * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_2.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_2.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_3.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_4.png P.S. nr 2: i zbędne kategorie: * http://pl.wikibooks.org/wiki/Kategoria:Strony_z_błędami_ortograficznymi * http://pl.wikibooks.org/wiki/Kategoria:Strony,_w_których_przekroczone_jest_ograniczenie_wielkości_użytych_szablonów * http://pl.wikibooks.org/wiki/Kategoria:Grafika_Wikimedia * http://pl.wikibooks.org/wiki/Kategoria:Strony_indeksowane a koniecznie trzeba mi odblokować te strony: * [[MediaWiki:Recentchangestext]] * [[Szablon:Recentchanges]] == c.d. pracy nad meta-stronami == hej! usuniesz mi ek-i oraz odblokujesz: [[Szablon:WM/Regulamin]]? z góry dzięki. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 10:43, 17 sty 2011 (CET) == Talkback == Hello Mirosław, you have an unanswered question at [[Commons:User talk:Persino#your_badname_request]]. &nbsp; — <font size="4">[[w:en:User:Jeff G.|Jeff]] [[w:en:User:Jeff G./talk|G. ツ]]</font> 16:32, 30 sty 2011 (CET) == FUW == Zerknij: [http://brain.fuw.edu.pl/edu/Strona_g%C5%82%C3%B3wna na cc-by-sa 3.0]. Może by się przydało? Tylko zassać i podać autorów. [[Wikipedysta:Przykuta|Przykuta]] ([[Dyskusja Wikipedysty:Przykuta|dyskusja]]) 15:49, 12 lut 2011 (CET) == Przeniesienie szablonu Podręcznik == Witaj, trzeba cofnąć Twoje zmiany, bo nie przenieść tego szablonu w miejsce Szablon:StronaStart, ponieważ z tego szablonu korzysta sporo modułów (razem z Pomocą Wikibooks), a nie korzystają one z szablonu Podręcznik. Zrevertowałem [http://pl.wikibooks.org/w/index.php?title=Szablon:StronaStart&curid=19820&diff=169244&oldid=159391 zmiane StronaStart], ale wszystkie Twoje zmiany w podręczniku trzeba by też wycofać (usuwające szablon Podręcznik)... Sam pomysł zmieniania tak dużej ilości modułów bez użycia bota jest kiepski, może lepiej poprosić operatora Bota żeby się tym zajął? Miało już miejsce takie masowe zmienianie przez AlohaBOT ([http://pl.wikibooks.org/w/index.php?title=Mechanika_teoretyczna/Uk%C5%82ad_cia%C5%82_ograniczonych_wi%C4%99zami&diff=prev&oldid=166738 przykład]). Choć można spróbować poprawić szablon, żeby pasował do nowej wersji podręcznikow matematycznych, jak i do innych modułów w których jest użyty. Co o tym sądzisz? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 17:55, 10 wrz 2011 (CEST) == Witaj po przerwie == Czołem Persino! miło Ciebie wiedzieć po długiej przerwie :) [[Wikipedysta:Karol Karolus|Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 09:31, 11 wrz 2011 (CEST) == Poradnik Hackhing == Witaj. Widzę że jesteś akurat Online, więc pisze do Ciebie. Znalazłem na wikia projekt informatyki i na stronie głównej coś tam wyczaiłem no i znalazłem [http://informatyka.wikia.com/wiki/Poradnik:Hacking to]. Jak widać, poradnik ten ma na celu przedstawienie zagrożeń ze strony internetu oraz zapobieganie im. (jak można wyczytać) Nie wiem jeszcze jaką ma licencje, ale skoro jest na wiki to musi być wolna. Związku z tym pytanie: Czy może być opublikowane na Wikibooks? Pozdrawiam --[[Wikipedysta:Kompowiec2|Marek H.]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 18:57, 24 wrz 2011 (CEST) == szablony StronaStart i StronaStart == Persino, sprawdź proszę, czy w/w szablony działają poprawnie, po ostatnich zmianach przestały pełnić swoją funkcję, zamiast być umiejscowione z boku strony porządkując ją, to wskakują na górę psując wygląd modułów. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 10:54, 23 paź 2011 (CEST) * dlatego, że po pierwsze nie było dobrze, bo było źle; a po drugie, bo lekceważysz sobie użytkowników tych szablonów: [[Wikibooks:Bar#szablony_StronaStart_i_StronaStart]]. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 23:15, 8 lis 2011 (CET) Hej, chciałem założyć temat, ale widzę, że już na mnie czeka :). Jestem świeżo na wikibooks i od razu rzucił mi się na oczy szablon {{s|StronaStart}}. Powiedzmy, że rozumiem koncept tego szablonu, ale: # U mnie nie działa: [http://awesomescreenshot.com/0e91ikc1c]. Wygląda to strasznie, nie mówiąc o zaśmiecaniu kodu :/ # Taki sam efekt, a nawet lepszy można uzyskać modyfikując swój plik .css użytkownika, już wrzucałem Karolusowi przykłady kodu zrobionego przeze mnie może w pół godziny, a dające przynajmniej możliwość osobom, które nie chcą menu na górze i wielkiej czcionki możliwość czytania domyślnie sformatowanego tekstu. [http://awesomescreenshot.com/0811fe0c8][http://awesomescreenshot.com/0411fe142] [[user:Yarl|Yarl]] [[user talk:Yarl|✉]] 19:49, 13 mar 2012 (CET) == układy pseudoskalarne == Cześć, Persino! Piszesz o trudnych sprawach, ale niezwykle ciekawych, więc zajrzałam. Niestety jest to powyżej moich możliwości (wolę poziom Świata Nauki), a poza tym rzucił mi się w oczy „kwiatek”, który bardzo szpecił piękną całość :( W kilku miejscach poprawiłam [[Wstęp do fizyki cząstek elementarnych/Wprowadzenie do teorii kwarków i układów kwarkowych (hadrony)#Mezony lekkie jako układy pseudoskalarne|tutaj]] , ale to chyba nie wszystko (np. nazwa ilustracji w Commons). Pozdrawiam Cię serdecznie --[[Wikipedysta:Joanna Kośmider|Joanna Kośmider]] ([[Dyskusja wikipedysty:Joanna Kośmider|dyskusja]]) 12:53, 22 kwi 2012 (CEST) == szablon treść == magiku od wiki-kodu, dasz radę tak ustawić parametry, żeby szablon zmieniał się co 3 dni? jest na tyle dużo polecanych książek, że akurat wtedy się tak wycyrkluje, że dana treść pojawi się raz w miesiącu. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 22:04, 2 lip 2013 (CEST) == interpolacja == Cześć. Dzięki za metody numeryczne fizyku. Ja szukałem funkcji przechodzącej przez dane punkty i znalazłem : http://zunzun.com/ Może cię zainteresuje. Szukam też pomocy w [[en:Fractals/Iterations_in_the_complex_plane/parabolic|dynamice parabolicznej]]. Jeśli jesteś zainteresowany to daj znać. Pozdrawiam. [[Wikipedysta:Adam majewski|Adam majewski]] ([[Dyskusja wikipedysty:Adam majewski|dyskusja]]) 21:39, 10 lut 2014 (CET) == {{int:right-upload}}, [[commons:Special:MyLanguage/Commons:Upload Wizard|{{int:uploadwizard}}]]? == [[Image:Commons-logo.svg|right|100px|alt=Wikimedia Commons logo]] Hello! Sorry for writing in English. As you're an administrator here, please check the message I left on [[MediaWiki talk:Licenses]] and the village pump. Thanks, [[m:User:Nemo_bis|Nemo]] 21:22, 18 wrz 2014 (CEST) <!-- Message sent by User:Nemo bis@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User_talk:Nemo_bis/Unused_local_uploads&oldid=9923284 --> == [[:Kategoria:Ekspresowe kasowanie]] == Cześć, wyczyściłbyś tą kategorię? Trochę się w niej nazbierało. [[Wikipedysta:Runab|Runab]] ([[Dyskusja wikipedysty:Runab|dyskusja]]) 18:17, 25 paź 2014 (CEST) == Odpowiadając == nie wiem, ale sądzę, że nie ma. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 16:02, 12 cze 2015 (CEST) == Bots == <div class="mw-content-ltr"> I apologize for sending this message in English. You are receiving this message because a technical change may affect a bot, gadget, or user script you have been using. The breaking change involves API calls. This change has been planned for two years. The WMF will start making this change on '''30 June 2015'''. A partial list of affected bots can be seen here: https://lists.wikimedia.org/pipermail/wikitech-l/2015-June/081931.html This includes all bots that are using pywikibot compat. Some of these bots have already been fixed. However, if you write user scripts or operate a bot that uses the [[:mw:API|API]], then you should check your code, to make sure that it will not break. What, exactly, is breaking? The "default continuation mode" for action=query requests to api.php will be changing to be easier for new coders to use correctly. To find out whether your script or bot may be affected, then search the source code (including any frameworks or libraries) for the string "query-continue". If that is not present, then the script or bot is ''not'' affected. In a few cases, the code will be present but not used. In that case, the script or bot will continue working. This change will be part of 1.26wmf12. It will be deployed to test wikis (including mediawiki.org) on 30 June, to non-Wikipedias (such as Wiktionary) on 1 July, and to all Wikipedias on 2 July 2015. If your bot or script is receiving the warning about this upcoming change (as seen at https://www.mediawiki.org/w/api.php?action=query&list=allpages ), it's time to fix your code! * The simple solution is to simply include the "rawcontinue" parameter with your request to continue receiving the raw continuation data (example <https://www.mediawiki.org/w/api.php?action=query&list=allpages&rawcontinue=1>). No other code changes should be necessary. * Or you could update your code to use the simplified continuation documented at https://www.mediawiki.org/wiki/API:Query#Continuing_queries (example <https://www.mediawiki.org/w/api.php?action=query&list=allpages&continue=>), which is much easier for clients to implement correctly. Either of the above solutions may be tested immediately, you'll know it works because you stop seeing the warning. Do you need help with your own bot or script? Ask questions in e-mail on the [[mail:mediawiki-api|mediawiki-api]] or [[mail:wikitech-l|wikitech-l]] mailing lists. Volunteers at [[:m:Tech]] or [[:w:en:WP:Village pump (technical)]] or [[:w:en:Wikipedia:Bot owners' noticeboard]] may also be able to help you. Are you using someone else's gadgets or user scripts? Most scripts are not affected. To find out if a script you use needs to be updated, then post a note at the discussion page for the gadget or the talk page of the user who originally made the script. [[:w:en:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[:w:en:User talk:Whatamidoing (WMF)#top|talk]]) 21:03, 17 cze 2015 (CEST) </div> <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:Whatamidoing_(WMF)/Sandbox&oldid=12455250 --> == tryb życia == Jakie przepisy masz na myśli? --[[Wikipedysta:Pedros.lol|Pedros.lol]] ([[Dyskusja wikipedysty:Pedros.lol|dyskusja]]) 18:54, 9 paź 2015 (CEST) :Jeżeli chodzi Ci o przypisy, to kopiowałem cytowania z Google Scholar, MLA --[[Wikipedysta:Pedros.lol|Pedros.lol]] ([[Dyskusja wikipedysty:Pedros.lol|dyskusja]]) 19:02, 9 paź 2015 (CEST) == [[s:Kategoria:Tablice matematyczne|Tablice matematyczne]] i [[s:Kategoria:Kody źródłowe|kody źródłowe]] z Wikiźródeł == Witaj! W Wikiźródłach mamy problem wyżej wymienionymi kategoriami. Są to przeważnie dawno umieszczone teksty (z lat ok. 2005–2007), które nie pasują do obecnej polityki publikacji projektu (teraz staramy się umieszczać teksty, które można zweryfikować na podstawie skanów). Zamierzam zgłosić je do usunięcia. Do Ciebie jako użytkownika zajmującego się fizyką komputerową i fizyką teoretyczną mam pytanie: czy tego typu tablice lub kody źródłowe mogłyby znaleźć miejsce w projekcie Wikibooks? Pierwszy z brzegu przykład do rozważenia: [[s:Tablica kwadratów|Tablica kwadratów]], [[s:Tablica kwadratów/kod|Tablica kwadratów/kod]] i [[s:Tablica sześcianów|Tablica sześcianów]]. Czy Twoim zdaniem jakąkolwiek wartość edukacyjną mają: * same te tablice? * kod źródłowy zastosowany do ich wygenerowania? * zamieszczone na dole stron przykłady użycia (odczytywanie dokładnych wyników, interpolacja oraz ekstrapolacja poza zakres uwzględniony w tablicy)? Czy uważasz, że można/warto umieścić je w Wikibooks jako * nowy samodzielny podręcznik [[Tablice matematyczne]]? * aneksy do któregoś z istniejących podręczników do matematyki? * kody źródłowe — w ogólnym podręczniku [[Programowanie]] lub w podręcznikach do konkretnych języków programowania? I ostatnie pytanie: czy do przeniesienia tych materiałów na Wikibooks potrzeba znaleźć osobę z uprawnieniami do importu stron, czy można je skopiować ręcznie, podając źródło w opisie zmian? Z kodami źródłowymi może być trudniej, ale tablice matematyczne raczej nie stanowią utworu w rozumieniu prawa autorskiego... Pozdrawiam, [[Wikipedysta:Ashaio|Ashaio]] ([[Dyskusja wikipedysty:Ashaio|dyskusja]]) 13:58, 26 lut 2016 (CET) == Re: Kasowanie okładek i normalnych stron == IPki które niby kasowały i wstawiały ek to też moja robota - naprawdę sądzisz że IPki wykonywałyby operacje porządkowe? ;) Jest to wynik dawnej dyskusji w której ustalono by skasować wszystkie okładki - gdzieś jest w archiwum baru, pod stertą mułu, poszukam w miarę możliwosci żeby nie było że zmyślam [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:54, 8 paź 2016 (CEST) * Znalazłem, bardzo proszę: [https://pl.wikibooks.org/wiki/Wikibooks:Bar/Archiwum11#problem_ok.C5.82adek Bar] [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 14:04, 8 paź 2016 (CEST) * Czemu przywracasz okładki? Znasz jakieś zastosowanie dla okładek? [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 10:09, 21 lis 2016 (CET) Hej, sądzę że okładki mogą zostać dla podręczników, dla których autor sobie życzy okładki, a co do wszystkich pozostałych podręczników (i ich okładek), to powinno być jakieś wspólne ustalenie (nie wiem czy coś się do tej pory zmieniło, ostatnio faktycznie była rezygnacja z okładek). Myślę że nie trzeba narzucać jednego rozwiązania na wszystkie przypadki, tak jak nawigacja: jest w niektórych książkach, a w niektórych nie ma, w zależności czy autor chciał czy nie --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 15:36, 22 lis 2016 (CET) * Rozumiem. W takim razie ja usuwam ze swoich (bo i też moich książek dotyczyły rewerty) [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:02, 25 lis 2016 (CET) "A to wszystko można zrobić za pomocą języka Lua, tak jak ja zrobiłem spis treści za pomocą szablonu <nowiki>{{SpisTreści}}</nowiki> i automatyczne numeracje wzorów matematycznych!" - coraz częściej słyszę o tym języku jako recepta na wiele dupereli, chyba się w końcu nim zainteresuję ;) tylko jak miałbym taki skrypt uruchomić na wikibooksach? na jakiejś własnej stronie użytkownika, czy inaczej? [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:08, 25 lis 2016 (CET) == Share your experience and feedback as a Wikimedian in this global survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! Wikimedia Foundation prosi Cię o wyrażenie opinii w ankiecie. Chcemy wiedzieć jak dobrze wspomagamy Twoją pracę na i poza wiki oraz jak możemy zmienić lub ulepszyć różne kwestie w przyszłości.<ref group=survey>Ta ankieta dotyczy głównie opinii na temat bieżących prac Wikimedia Foundation, nie długoterminowej strategii.</ref> Opinie, którymi się podzielisz, bezpośrednio wpłyną na obecne i przyszłe prace Wikimedia Foundation. Zostałeś losowo wybrany do wzięcia udziału w tej ankiecie, tak, jak chcielibyśmy wysłuchać Twojej społeczności Wikimedia. Aby podziękować Ci za Twój poświęcony czas, rozdamy 20 T-shirtów Wikimedia do losowych uczestników tego badania.<ref group=survey>Kwestie prawne: Nie jest konieczne dokonanie zakupu. Trzeba być pełnoletnim aby uczestniczyć. Sponsorowane przez Wikimedia Foundation, zlokalizowana w 149 New Montgomery, San Francisco, CA, USA, 94105. Koniec 31 stycznia 2017. Nie obowiązuje gdzie zakazano. [[m:Community Engagement Insights/2016 contest rules|Kliknij aby zobaczyć regulamin konkursu]].</ref> Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. <big>'''[https://wikimedia.qualtrics.com/SE/?SID=SV_6mTVlPf6O06r3mt&Aud=VAE&Src=57VAEOP Weź udział w ankiecie teraz!]'''</big> Możesz dowiedzieć się więcej na temat [[m:Community_Engagement_Insights/About_CE_Insights|tego projektu]]. Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2016_Survey_Privacy_Statement|temu oświadczeniu prywatności]]. Odwiedź naszą [[m:Community_Engagement_Insights/Frequently_asked_questions|stronę z najczęściej zadawanymi pytaniami]], aby znaleźć więcej informacji na temat tego badania. Jeżeli potrzebujesz dodatkowej pomocy lub chcesz wypisać się z przyszłych prób komunikacji, wyślij e-mail na surveys@wikimedia.org. Dziękujemy! --[[:m:User:EGalvez (WMF)|EGalvez (WMF)]] ([[:m:User talk:EGalvez (WMF)|talk]]) 23:25, 13 sty 2017 (CET) </div> <!-- Wiadomość wysłana przez User:EGalvez (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2016/57-VAEOP&oldid=16205400 --> <references group=survey /> == Działania administracyjne == Cześć, mógłbyś zajrzeć do SdU i EK? Jesteś jedynym obecnie aktywnym tu administratorem, a sprawa SdU wygląda wręcz, jakbyś to ignorował. <span style="font-weight:bold;">[[Wikipedysta:Kabexxxior|KABEXXX<span style="color:silver;">IOR </span>]]</span> ≡ <span style="text-decoration:none;margin-right:10px;">[[Dyskusja_wikipedysty:Kabexxxior|DYSKUSJA]] </span> 01:46, 3 lut 2017 (CET) == Ek == * Czasem zdarza się że zapomnę się zalogować i edytuje z IPka. W sumie jak się zajrzy w historie to po ekowaniu zalogowałem się i połączyłem arty. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 09:20, 5 wrz 2017 (CEST) == Share your experience and feedback as a Wikimedian in this global survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! Wikimedia Foundation prosi Cię o wyrażenie opinii w ankiecie. Chcemy wiedzieć jak dobrze wspomagamy Twoją pracę na i poza wiki oraz jak możemy zmienić lub ulepszyć różne kwestie w przyszłości. Opinie, którymi się podzielisz, bezpośrednio wpłyną na obecne i przyszłe prace Wikimedia Foundation. Zostałeś losowo wybrany do wzięcia udziału w tej ankiecie, tak, jak chcielibyśmy wysłuchać Twojej społeczności Wikimedia. Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. <big>'''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie teraz!]'''</big> Możesz dowiedzieć się więcej na temat tej ankiety [[m:Special:MyLanguage/Community_Engagement_Insights/About_CE_Insights|na stronie projektu]]. Zobacz jak Twoje zdanie pomaga Wikimedia Foundation wspierać edytujących takich jak Ty. Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu prywatności]] (po angielsku). Odwiedź naszą [[m:Special:MyLanguage/Community_Engagement_Insights/Frequently_asked_questions|stronę z najczęściej zadawanymi pytaniami]], aby znaleźć więcej informacji na temat tego badania. Jeżeli potrzebujesz dodatkowej pomocy lub chcesz wypisać się z przyszłych prób komunikacji, wyślij e-mail poprzez funkcję wysyłania e-maili do użytkownika, do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]], aby usunął Cię z listy. Dziękujemy! </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 20:36, 29 mar 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17881402 --> == Reminder: Share your feedback in this Wikimedia survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Każda odpowiedź w tej ankiecie może pomóc Wikimedia Foundation ulepszyć Twoje doświadczenia w projektach Wikimedia. Jak dotąd wysłuchaliśmy 29% współautorów projektów Wikimedia. Ankieta jest dostępna w różnych językach i jej wypełnienie może zająć od 20 do 40 minut. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie.]''' Jeżeli już wypełniłeś tę ankietę, z góry przepraszamy za to przypomnienie. Tę ankietę stworzyliśmy tak, aby nie dało się zidentyfikować użytkowników, którzy ją wypełnili, więc musimy rozesłać to przypomnienie wszystkim. <span class="mw-translate-fuzzy">Jeżeli chcesz wypisać się z listy adresatów przypomnień i informacji o kolejnych badaniach, wyślij e-mail do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]</span>. Możesz też wysyłać do niego zapytania odnośnie tego badania. [[m:Community_Engagement_Insights/About_CE_Insights|Dowiedz się więcej o tej ankiecie na stronie projektu.]] Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu prywatności]] Wikimedia Foundation. Dziękujemy! </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 03:34, 13 kwi 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17888784 --> == Your feedback matters: Final reminder to take the global Wikimedia survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! To jest ostateczne przypomnienie o ankiecie Wikimedia Foundation, która zakończy się '''23 kwietnia 2018 (07:00 UTC)'''. Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie teraz.]''' '''Jeżeli już wypełniałeś tą ankietę - dziękujemy!''' Tę ankietę stworzyliśmy tak, aby nie dało się zidentyfikować użytkowników, którzy ją wypełnili, więc musimy rozesłać to przypomnienie wszystkim. Aby wypisać się z przyszłych badań, wyślij e-mail poprzez funkcję wysyłania e-mail do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]. Na ten e-mail możesz wysłać również zapytania. [[m:Community_Engagement_Insights/About_CE_Insights|Dowiedz się więcej o tej ankiecie na stronie projektu.]] Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu Wikimedia Foundation w sprawie prywatności]]. </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 02:43, 20 kwi 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17888784 --> == EKi == Cześć, widzę że jesteś tu jedynym aktywnym administratorem - mógłbyś usunąć [[:Kategoria:Ekspresowe kasowanie|EKi]]? Wisi spam od prawie tygodnia... Z góry dzięki, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 22:45, 22 lip 2018 (CEST) == Ukrywanie == Mogę wiedzieć po co ukryłeś wersje w swoim podręczniku? --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 11:25, 31 lip 2018 (CEST) : Kto się na to uskarżał? Moim zdaniem to nadużycie tej funkcji. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 15:42, 31 lip 2018 (CEST) == Wiele edycji w Szablon:StronaStart == Przydatną rzeczą może być formularz "Podgląd strony z tym szablonem" pod oknem edycji, dzięki czemu nie trzeba co chwilę zapisywać, aby zobaczyć jak będzie wyglądała strona z nowym kodem szablonu. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 16:17, 24 sie 2018 (CEST) == Statystyki oglądalności strony == Cześć, piszę do ciebie bo ty jako admin masz możliwość tworzenia i edytowania przestrzeni MediaWiki. Na Wikipedii, w zakładce "historia" jest link do fajnego narzędzia pokazującego statystykę odwiedzin danego artykułu (a także kilka linków do innych narzędzi). Fajnie by było dodać taką funkcję też na Wikibooks. Żeby to zrobić, trzeba utworzyć tę stronę: [[MediaWiki:Histlegend]], kopiując do niej zawartość [[w:MediaWiki:Histlegend|jej odpowiednika na Wikipedii]] (zmieniając oczywiście wszystkie linki z "pl.wikipedia.org" na "pl.wikibooks.org"). Mógłbyś to zrobić? Z góry dziękuję i pozdrawiam, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 17:17, 29 paź 2018 (CET) :Dzięki :) [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:21, 29 paź 2018 (CET) == Przypisy == Po twojej edycji w szablonie {{s|Przypisy}} przestał on działać tak jak poprzednio - dodając od razu sekcję <nowiki>==Przypisy==</nowiki>, tym samym wszystkie strony, na których był wcześniej użyty, mają popsute wyświetlanie przypisów (zniknęła sekcja) - przykład: [[Siewki roślin flory Polski/Liliowate]]. Masz zamiar to poprawić? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:10, 3 lis 2018 (CET) :Do tej pory szablon sam dodawał sekcję; jeżeli dokonujesz zmiany w szablonie, który jest używany na setkach stron, to wypadałoby posprzątać, albo zamiast tego utworzyć nowy szablon, nie dodający sekcji, a ten dodający zostawić na swoim miejscu. W tej chwili po twojej zmianie [https://pl.wikibooks.org/w/index.php?title=Specjalna:Linkuj%C4%85ce/Szablon:Przypisy&namespace=0&limit=500 na ponad 400 stronach] znikła sekcja "Przypisy". W dodatku w tym momencie opis szablonu jest wprowadzający w błąd, bo wciąż mówi, że dodaje sekcję. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 16:40, 4 lis 2018 (CET) ::Dzięki! :) [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 18:39, 4 lis 2018 (CET) == Literówka == Na stronie https://pl.m.wikibooks.org/wiki/Wikibooks:Poczekalnia w nagłówku, który jest nieedytowalny chyba bez odpowiednich uprawnień, jest urywek o treści: "Pełna lista stron, co do których przeprowadza się dyskuję, co dalej robić, znajdują się w " który jest z błędem. Powinno być "znajduje się" Piszę o tym do Ciebie, bo widzę, że Ty tam działasz. Pozdrawiam [[Wikipedysta:Lien Shan|Lien Shan]] ([[Dyskusja wikipedysty:Lien Shan|dyskusja]]) 12:57, 17 lis 2018 (CET) == Prośba o przywrócenie strony == Dzień dobry, Proszę o przywrócenie strony [[Lożban/Tanru i lujvo]] -- 17:17 Samuel sob 5 sty 2019 (CEST) *Na tej stronie nie jest nic merytorycznego napisane! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:27, 5 sty 2019 (CET) *Bo dopiero ją tworzymy! A teraz zniknęło kilka ważniejszych tłumaczeń! -- 16:42 Samuel sob 5 sty 2019 (CET) **Odzyskuję na waszą odpowiedzialność! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:46, 5 sty 2019 (CET) ***Dziękuję -- 16:48 Samuel sob 5 sty 2019 (CET) == Powód blokady? == Dlaczego wycofałeś edycje i zablokowałeś użytkownika [[Wikipedysta:Robert Poklek|Robert Poklek]]? Nie widzę, żeby zrobił cokolwiek złego, najwyraźniej miał zamiar zacząć pisać nową książkę, do której utworzył link i kategorię. Możesz wyjaśnić powody blokady i rewertów? Pozdrawiam, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 19:20, 3 mar 2019 (CET) :A, faktycznie, nie zauważyłam że dawał linki do zewnętrznych stron internetowych. Widocznie jednak chciał tylko zrobić reklamę. Dzięki za wyjaśnienia. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 20:02, 3 mar 2019 (CET) == darknet w praktyce == * Witaj, powiedz mi proszę w jaki sposób usunięte przez Pana strony namawiają do łamania prawa. Książka nie jest o piraceniu czy crackingu, tylko opowiada o zachowaniu prywatności przede wszystkim, poprzez hardering. Z tego co wiem w Polsce nie ma obowiązku podawania prawdziwych danych w internecie ani nie zakazują szyfrowania jak w UK. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 23:54, 20 mar 2019 (CET) strony wisiały od wielu lat, przewinęło się tu wielu adminów do tej pory i żaden nie zwrócił na to uwagi, pozdrawiam. == Pascha (potrawa) == Czy mógłbyś zaimportować artykuł [[w:Pascha (potrawa)|Pascha (potrawa)]] z Wikipedii do podstrony [[Książka kucharska/Pascha]]? Po imporcie dobrze byłoby usunąć wszystkie wersje strony (w trybie usuwania wersji), które nie zawierały przepisu na potrawę, a następnie z najnowszej wersji usunąć (delete) całą treść oprócz przepisu. [[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 13:56, 19 kwi 2019 (CEST) == Odp:Na przykład szablon: NPA == ;[{{fullurl:Dyskusja_wikipedysty:Salicyna|oldid=292347}}#Na_przykład_szablon:_NPA Odp:Na przykład szablon: NPA] Nie wiem, musiałabym się wczytać uważnie w kod szablonu i przetestować by wiedzieć, czy to coś zmienia. To chyba nie ma znaczenia, zresztą i tak w praktyce tego szablonu się już raczej nie używa, jeśli zauważy się NPA to kasuje się w trybie EK... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:19, 29 cze 2019 (CEST) == Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Fundacja Wikimedia pragnie poprosić cię o Twoją opinię w ankiecie na temat doświadczenia związanego z {{SITENAME}} i fundacją. Celem tego badania jest dowiedzieć się w jaki sposób Fundacja wspiera twoją pracę na wiki i jak możemy to zmienić lub poprawić w przyszłości. Twoje przemyślenia będą miały bezpośredni wpływ na obecną i przyszłą pracę Fundacji Wikimedia. Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 16:34, 9 wrz 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19352874 --> == Reminder: Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Kilka tygodni temu zapraszaliśmy Cię do wypełnienia ankiety Community Insights. Jest to coroczne badanie społeczności na całym świecie, organizowane przez Wikimedia Foundation. Chcemy dowiedzieć się jak bardzo nasza praca wspiera wiki. We are 10% towards our goal for participation. Jeżeli jeszcze nie wypełniłeś naszej ankiety, możesz pomóc nam osiągnąć nasz cel! '''Twój głos ma dla nas znaczenie.''' Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 21:14, 20 wrz 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19395141 --> == Reminder: Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Zostało już tylko kilka tygodni na wypełnienie ankiety Community Insights! We are 30% towards our goal for participation. Jeżeli jeszcze nie wypełniłeś naszej ankiety, możesz pomóc nam osiągnąć nasz cel! Dzięki tej ankiecie Wikimedia Foundation uzyska opinie na temat tego, jak dobrze wspiera Twoją pracę na wiki. Wypełnienie zajmie tylko 15-25 minut, a ma bezpośredni wpływ na jakość udzielanego przez nas wsparcia. Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 19:04, 4 paź 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19435548 --> == Blocking User:WMFOffice? == Can I say that blocking the WMF's office account is a brave move, and probably unwise. Prior to blockingan account like that, can I suggest that you check the user page from meta [[User:WMFOffice]] and/or permissions at CentralAuth [[Special:CentralAuth/WMFOffice]]. [[Wikipedysta:Billinghurst|Billinghurst]] ([[Dyskusja wikipedysty:Billinghurst|dyskusja]]) 22:55, 13 lis 2019 (CET) == Vandalism == Hi, I see that you are an active administrator here. Could you check [[Specjalna:Wk%C5%82ad/83.10.130.131]]'s edits are take appropriate actions if needed? Thanks in advance. [[Wikipedysta:Masumrezarock100|Masumrezarock100]] ([[Dyskusja wikipedysty:Masumrezarock100|dyskusja]]) 13:05, 23 sty 2020 (CET) == Vandal == [https://pl.wikibooks.org/wiki/Specjalna:Wkład/2A02:A319:C044:B000:AC27:AC07:BA6B:755D] is a vandal. I could find admins noticeboard, so I'm leaving it here. [[Wikipedysta:Sk4mp|Sk4mp]] ([[Dyskusja wikipedysty:Sk4mp|dyskusja]]) 19:59, 5 lut 2020 (CET) == Terms of Use == Hello, Persino What is this user doing? https://pl.wikibooks.org/w/index.php?title=Ksi%C4%85%C5%BCka_kucharska/Podp%C5%82omyki_%C5%9Bwi%C4%99tokrzyskie&action=history That sort of editing is against [[wmf:Terms of Use]]. Making such edits, mass reverting on ones *own* edits, inserting a dot and then removing it... I sincerely hope you might consider informing the user in the Polish language. Hope this helps everybody in question. Thanks for a reply if you chose to. Truly yours, -- [[Wikipedysta:Nesmir Kudilovic|Nesmir Kudilovic]] ([[Dyskusja wikipedysty:Nesmir Kudilovic|dyskusja]]) 17:01, 14 lut 2020 (CET) == Przenoszone strony == Tak. Trzeba je skasować. [[Wikipedysta:Świętokrzyskie3|Świętokrzyskie3]] ([[Dyskusja wikipedysty:Świętokrzyskie3|dyskusja]]) 10:09, 25 kwi 2020 (CEST) == Kategoria Wikizeszyty == Bo to coś innego... To osobny wikiprojekt i musimy kierować pod konkretne zasoby nauczycieli, którzy będą z tego korzystać. Omówię to z kolegami i koleżankami i zwrócę uwagę na twoją uwagę :) [[Wikipedysta:Klarqa|Klarqa]] ([[Dyskusja wikipedysty:Klarqa|dyskusja]]) 13:09, 12 maj 2020 (CEST) == Szablon [[Szablon:sr|sr]] == Wydaje się w porządku, ale trzeba to potem sprawdzić na jakieś większej książce. Gdy to tworzyłem, to sprawdzałem na [[VHDL/Spis treści]] i tam to nie powoduje błędów. Trzeba teraz wziąć jakąś książkę z rozdziałami i podrozdziałami i tam sprawdzić, czy Twoja zmiana ma, że tak powiem, "ręce i nogi". A i jeżeli odpowiadam w złym miejscu, to przepraszam, ale na Wiki to byłem baaaaaardzo dawno temu i już zapominałem jak komunikuje się tu na stronach dyskusji :(. [[{{ns:user}}:Felix|Felix]] ([[{{ns:user talk}}:Felix|dyskusja]] <small>•</small> [[Special:Contributions/Felix|edycje]]) 17:00, 22 maj 2020 (CEST) == Przenosiny == Ja jeszcze nie mam takich uprawnień, żeby przenosić artykuły. [[Wikipedysta:Snd125671|Snd125671]] ([[Dyskusja wikipedysty:Snd125671|dyskusja]]) 17:35, 12 cze 2020 (CEST) == usunięcie [[Książka kucharska/Wuzetki II]] == Zapomniałam wstawić szablon zintegrowany. Teraz już [https://pl.wikibooks.org/wiki/Specjalna:Linkuj%C4%85ce/Ksi%C4%85%C5%BCka_kucharska/Wuzetki_II linkuje] . [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 16:57, 20 cze 2020 (CEST) Przyjrzałam się dokładniej tutejszej wersji szablonu {{s|zintegrowany}} i... czy ten szablon został przetłumaczony z automatu i porzucony? Czemu tylko z "siostrzanych projektów Wikibooks lub różnych ich wersji językowych" a nie np. pl.wikibooks.org? Czemu "pochodzi w całości" a nie np. "częściowo"? [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 17:05, 20 cze 2020 (CEST) * Hej. Widzę, że popełniłam małe ''faux pas''. Nie zauważyłam, że to Ty pracowałeś nad tym szablonem. Mam nadzieję, że Cię jakoś nie uraziłam. Tak więc, teraz jest "Ten artykuł jest efektem integracji z inną jednostką na Wikibooks. Zawarta choćby częściowo tu treść pochodzi w całości z artykułu". Może drugie zdanie dać takie jak [https://pl.wikipedia.org/wiki/Szablon:Zintegrowany tu]: "Zawarta tu treść pochodzi częściowo z artykułu". Słowa "jednostka" nie oceniam, bo nie znam tutejszej nomenklatury. [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 18:20, 22 cze 2020 (CEST) * Dobra, zapowiada się na dłuższą dyskusję:). Proszę o (ewentualne) kontynuowanie jej w Wikibooks - przeniosłam Twoje wpisy na [[Dyskusja_wikipedysty:SpiderMum|moją tutejszą stronę dyskusji]]. Po drugie, ponownie proszę o odtworzenie strony [[Książka kucharska/Wuzetki II]]. Powód: zintegrowałam artykuł [[Książka kucharska/Wuzetki II]] z artykułem [[Książka kucharska/Wuzetki]], w ten spobób, że po pierwszym zostało tylko przekierowanie. Jest to przypadek opisany tu [https://pl.wikipedia.org/w/index.php?title=Pomoc:Integracja&oldid=57143097#Krok_2A._Stary_artyku%C5%82_%C5%BAr%C3%B3d%C5%82owy_pozostaje_jako_przekierowanie Krok 2A. Stary artykuł źródłowy pozostaje jako przekierowanie]. Czy w Wikibooks przyjęliście inny podział na wydzielone/zintegrowane? [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 19:11, 22 cze 2020 (CEST) PS Bardzo Cię przepraszam za ten chaos w edycjach - trochę się spieszę i takie są efekty. *: Dzięki. [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 17:48, 23 cze 2020 (CEST) == Linki na stronie głównej == Cześć! Poproszę o zmianę linków na stronie głównej. Chodzi o linki do stron Fundacji i Stowarzyszenia. Zmień kod tak samo, jak zrobił to Peter Bowman na Wikisłowniku: [[wikt:Specjalna:Diff/7409893]]. Z góry dziękuję. [[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 23:45, 28 sie 2020 (CEST) == Potrzebuję pomocy :) == Hej, czy moglbys mi pomoc? Chodzi o ksiazke kucharska. : 1. Chcialabym dodac nowy rozdzial (cos w rodzaju "Kucharskie Vadamecum"), w ktorym znalazlyby sie praktyczne informacje na temat roznych rzeczy przydatnych przy gotowaniu, np: :: 1.1. Dzial przyprawy, a w nim np. opis bazylii - do jakich potraw sie nadaje, z jakimi innymi przyprawami sie laczy, jak ja prawidlowo przygotowac przyd uzyciem, jak i jak dlugo mozna ja przechowywac itp. :: 1.2. Dzial miesa, a w nim informacje na temat roznych mies, np. wolowina - poszczegolne czesci wolu, jakie czesci do jakich potraw sie nadaja, czy lepiej jest je piec, gotowac, smazyc czy grillowac, czym co przyprawiac itp. :: 1.3. Dzial warzywa, a w nim informacje na temat roznych warzyw, np. pieczarki - jak je prawidlowo smazyc, zeby nie zaczely sie gotowac we wlasnym sosie, do jakich potraw sie nadaja, jakie przyprawy do nich pasuja itp. :: 1.4. ... : 2. Ponadto na wstepie ksiazki kucharskiej (https://pl.wikibooks.org/wiki/Ksi%C4%85%C5%BCka_kucharska) jest spis tresci, a poszczegolne kategorie sa pisane raz duza raz mala litera - moglbys to jakos poprawic? (np. "dania miesne" vs. "Kuchnia wegetarianska" i inne) Pozdrawiam serdecznie --[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:25, 30 sie 2020 (CEST) :: Dziekuje za wskazowke! --[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:57, 31 sie 2020 (CEST) == Proszę sprawdzić email == Witaj, {{PAGENAME}}: Proszę sprawdzić email! Temat: "The Community Insights survey is coming!" Jeśli masz jakieś pytania, wyślij e-mail na adres surveys@wikimedia.org. (English: Please check your email and spam! Subject is "The Community Insights survey is coming!" If you have questions, email surveys@wikimedia.org.) Sorry for the inconvenience, [[:pl:Special:Diff/60928651|you can read my explanation here]]. [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 18:24, 25 wrz 2020 (CEST) <!-- Wiadomość wysłana przez User:Samuel (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Samuel_(WMF)/Community_Insights_survey/pl&oldid=20478443 --> == Przepisy z numerkami == Móc, zapewne mógłbym, ale jak na jednego to duuuża praca, a ja nie wiem, jak długo tu pobędę, na co dzień będąc zaangażowany bardziej w innych projektach wikipedyjnych. Kulinariami zająłem się trochę jako przerywnikiem w dotychczasowej działalności, choć nie kryję, że wypełnianie Książki kucharskiej różnymi ciekawymi daniami obcych kuchni sprawiło mi przyjemność. Nieco tych "numerkowych" poprawiłem pod drodze, ale to spore zadanie, a w sumie wolałbym się tu skoncentrować na merytorycznych tekstach niż na redakcyjnym porządkowaniu. Niemniej, co jeszcze mogę, to zrobię. Pozdrawiam - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 15:57, 8 lis 2020 (CET) == odp. Onomastyka == Dziekuje!--[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:16, 5 sty 2021 (CET) == Odp:Książka w przestrzeni nazw Kategoria == ;[{{fullurl:Dyskusja_wikipedysty:Superjurek|oldid=401614}}#Książka_w_przestrzeni_nazw_Kategoria Odp:Książka w przestrzeni nazw Kategoria] W odpowiedzi na Twoje pytanie. Ten zabieg, który wzbudził Twoje poważne wątpliwości jest jak najbardziej przemyślany. Zdaję sobie sprawę, że do tworzenia książek służy przestrzeń główna, ale ideą tego podręcznika, jest żeby na wszystkie zadania, które powstaną były katalogowane i automatycznie sortowane według ich odniesień do podstawy programowej. Taką opcję w naturalny sposób zapewniają strony kategorii. W przestrzeni głównej, którą również zamierzam wykorzystać, umieszczam kolejne zadania. Ich kolejność numeryczna ma w tym przypadku wynikać tylko i wyłącznie z ich kolejności powstawania. Za przykład mogę podać [[Zbiór zadań maturalnych/Biologia/Zadania/1|Zadanie 1]]. Kiedy rozwiniesz ramkę z napisem klucz odpowiedzi, to wyskoczy Ci odniesienie do podstawy programowej zarówno pod kątem celów kształcenia i treści nauczania. Podstawa programowa w polskim systemie oświaty ma charakter kaskadowy, z tego też powodu zastosowałem kaskadowe kategorie. Szablony typu <code><nowiki>{{PP2017/LO/Biologia/PR/C/III/2}}</nowiki></code> lub <code><nowiki>{{PP2017/LO/Biologia/PR/T/XII/1/4}}</nowiki></code> są szablonami wypełniającymi w formatce klucza odpowiedzi odpowiednie odniesienie do podstawy programowej i jednocześnie przypisują kaskadowo dla tego zadania odniesienia do kolejnych poziomów podstawy programowej. [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 09:31, 9 kwi 2021 (CEST) :Dodam jeszcze, że jest to inicjatywa, którą w takim kształcie chciałbym wykorzystać do wsparcia merytorycznego innych nauczycieli. W tym zbiorze zadań zamierzam tworzyć dla maturzystów autorskie zadania, zachęcać do tego innych nauczycieli i zlecać jako pracę dodatkową licealistom, aby takie zadania próbowali zredagować. Na Wikibooks to jest o tyle dobre, że w razie gdyby zadanie zawierało błędy merytoryczne, będzie można je skorygować. Niekonwencjonalne wykorzystanie kategorii uważam tu za kluczowe element tego podręcznika, bo podstawa programowa przez swój kaskadowy charakter wymaga możliwości sortowania tych zadań. Dzięki temu nauczyciele będą mogli tworzyć własne arkusze próbnych matur albo ćwiczeń na lekcje, wybierając je z odpowiedniej kategorii. Teraz to nie jest jeszcze takie widoczne, ale jak powstanie z 300 lub 600 zadań, to te kategorie będą nieodzowne. Jak widzisz podstawa na powyższych szablonach, tutaj musi być zastosowana chirurgiczna precyzja, zadanie 1 w tym przypadku realizuje: *<code>PP2017</code> podstawę programową z roku 2017 :*<code>LO</code> dla liceum ogólnokształcącego ::*<code>Biologia</code> z Biologii :::*<code>PR</code> z poziomu rozszerzonego ::::*<code>C</code> z celów kształcenia :::::*<code>III</code> rozdziału III ::::::*<code>2</code> punktu 2 [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 09:45, 9 kwi 2021 (CEST) Co do Wikijunior, to w tym przypadku ono również nie ma zastosowania, bo jest inicjatywą przewidzianą dla dzieci do lat 12, a ten zbiór zadań zaadresowany jest do maturzystów.[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 10:00, 9 kwi 2021 (CEST) == pytanie o funkcjonalność JavaScriptu do Zbioru zadań maturalnych == Cześć, zwracam się z pytaniem o to, co powinienem zrobić, aby zadziałał mi skrypt [[Wikipedysta:Superjurek/common.js]] podczas zapisywania nowego zadania maturalnego? Kod zawarty w tym skrypcie ma wymuszać automatyczne odświeżanie poniższych 2 stron: *[[Zbiór zadań maturalnych/Biologia]] *[[Zbiór zadań maturalnych/Biologia/Zadania]] Pytanie, jak zrobić żeby odświeżał te dwie strony przy zapisaniu nowego zadania? Jeśli uzyskałbym ten efekt, to przestałoby być konieczne ręczne odświeżanie tych dwóch stron. Myślę tu o tym, żeby skrypt ułatwiał życie innym nauczycielom biologii i licealistom chcących wrzucić kilka zadanek maturalnych. Po opublikowaniu jednego musiałby pamiętać o odświeżeniu, co dla niewprawionych użytkowników chcących tylko wrzucić zadanko może być zniechęcające. Ponadto, jeśli nie odświeży, to licznik będzie przekierowywał następnych do numeru zadania już istniejącego, zamiast do numeru następnego (czyli jeszcze nieistniejącego). Stąd też mój zamiar postawienia tego skryptu. Z góry dziękuję za pomoc [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 16:29, 29 kwi 2021 (CEST) :{{Ping|Superjurek}} Już się szykuje skrypt do aktualizowania danej strony i do trybu ciemnego! :* Aktualizacja strony, skrypt: [[Wikipedysta:Persino/Gadget-StronicowyParser.js/AktualizacjaStron.js]]. :* Tryb ciemny, skrypt: [[Wikipedysta:Persino/Gadget-StronicowyParser.js/Tryb_ciemny.js]]. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:19, 27 maj 2022 (CEST) == Prośba o pomoc w naprawieniu modułu. == Cześć Persino, zwracam się do Ciebie z prośbą o pomoc – bo już nieraz umiałeś wyciągnąć mnie z technicznych tarapatów :) Tym razem nie na Wikibooks, ale na Wikipedii. Chodzi o problem opisany w [[w:Dyskusja modułu:Lewandowska&Malik1991]]. Z góry dziękuję za pomoc! Pozdrawiam [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 12:58, 29 sie 2021 (CEST) == Ad:Kategoria:Polecane książki/Terapia zajęciowa == ;[https://pl.wikibooks.org/w/index.php?title=Kategoria:Polecane_ksi%C4%85%C5%BCki/Terapia_zaj%C4%99ciowa&oldid=407198#bodyContent Ad:Kategoria:Polecane książki/Terapia zajęciowa] No właśnie nie jestem pewien kategorii. W klasyfikacji zawodów terapeuta jest klasyfikowany jako " inny średni personel do spraw zdrowia" więc może medycyna? Gdzie byłby podręcznik pielęgniarstwa przykładowo? W Wikipedii artykuł mamy w pedagogice specjalnej. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 13:47, 21 paź 2021 (CEST) :Terapia to jest coś wspomagającego leczenie w medycynie konwencjonalnej, ale nie jest samą medycyną. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:50, 21 paź 2021 (CEST) ::Już poprawiłem na kategorię: Kategoria:Medycyna. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:59, 21 paź 2021 (CEST) == How we will see unregistered users == <section begin=content/> Cześć! Otrzymujesz tę wiadomość, ponieważ jesteś administratorem w jednym z projektów Wikimedia. Obecnie, kiedy ktoś edytuje stronę, nie będąc zalogowanym, w historii wyświetla się jego adres IP. Jak być może już wiesz, nie będziemy mogli tego robić w przyszłości. Jest to decyzja prawników Fundacji Wikimedia, spowodowana zmianami w przepisach o ochronie prywatności w internecie. Zamiast adresu IP będziemy wyświetlać maskowaną tożsamość. Ty jako administrator{{gender:{{ROOTPAGENAME}}||ka|(-ka)}} '''będziesz nadal {{gender:{{ROOTPAGENAME}}|mógł|mogła|mógł/mogła}} zobaczyć oryginalne IP'''. Utworzymy nowe uprawnienie, przeznaczone dla osób, które potrzebują widzieć pełen adres, aby walczyć z wandalizmami, spamem itp. bez uprawnień administratorskich. Patrolujący będą mogli zobaczyć fragment IP również bez tego uprawnienia. Pracujemy również nad [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/Improving tools|lepszymi narzędziami]], wspierającymi w walce przeciwko nadużyciom. Jeśli jeszcze o naszych działaniach nie {{gender:{{ROOTPAGENAME}}|czytałeś|oczytałaś|czytałeś(-aś)}}, możesz się z nimi [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|zapoznać na Meta]]. Aby nie przegapić technicznych zmian na wiki, możesz [[m:Global message delivery/Targets/Tech ambassadors|zasubskrybować]] cotygodniowe wydania [[m:Tech/News|Tech News]]. Mamy [[m:IP Editing: Privacy Enhancement and Abuse Mitigation#IP Masking Implementation Approaches (FAQ)|dwa pomysły]] na implementację maskowania adresów IP. '''Chętnie poznamy twoją opinię'''. Daj nam znać [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|na stronie dyskusji]], co sądzisz na ich temat i tego, który pomysł się sprawdzi lepiej na twojej wiki, teraz i w przyszłości. Możesz napisać w swoim języku. Sugestie są dostępne od października, a ostateczną decyzję podejmiemy po 17 stycznia. Dziękujemy. /[[m:User:Johan (WMF)|Johan (WMF)]]<section end=content/> 19:18, 4 sty 2022 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Admins2022(6)&oldid=22532666 --> == [[Teoria grup przemiennych]] == Zostaje mi tylko podziękować. (-: --[[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 16:07, 11 mar 2022 (CET) == Nawigacja == Tak jak ostatnio, wielkie dzięki. --[[Specjalna:Wkład/2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303|2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303]] ([[Dyskusja wikipedysty:2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303|dyskusja]]) 19:00, 15 kwi 2022 (CEST) == Szablon {{s|Wolumin}} == Dzięki za informację. Musze chyba więcej poczytać o polskich kategoriach. Nie wiem jak edytowac recznie kategorie, są jakby ukryte. Dzięki [[Wikipedysta:Soul windsurfer|Soul windsurfer]] ([[Dyskusja wikipedysty:Soul windsurfer|dyskusja]]) 17:21, 30 lis 2022 (CET) : czy mógłbyś mi wskazać gdzie mogę poczytać o kategoriach. Widziałem stronę szablony wolumin ale to nie rozwiazało moich watpliwości. Dzięki :: dzięki. Czy istnieje narzędzie, które doda taki wpis do każdej strony książki ? --[[Wikipedysta:Soul windsurfer|Soul windsurfer]] ([[Dyskusja wikipedysty:Soul windsurfer|dyskusja]]) 07:08, 2 gru 2022 (CET) == Poprawki dla urządzeń mobilnych == Cześć. Chciałbym poprawić działanie na urządzeniach mobilnych. Widzę, że głównie Ty tutaj edytujesz, więc pytanie czy masz przeciwko? Chodzi głównie o elastyczność stron (żeby strony się ściskały). [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 20:04, 5 gru 2022 (CET) :Aha. Jakby co jestem już adminem interfejsu m.in. na Wikisource i na Wikipedii. [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 20:07, 5 gru 2022 (CET) :A mógłbyś odbezpieczyć ten szablon: {{s|Strona główna/Siostrzane projekty Wikibooks}}. Ew. wystarczy mi jak dodasz tam jakąś klasę w pierwszym wywołaniu ElastycznaKolumna. [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 21:30, 5 gru 2022 (CET) ::OK, skończyłem. Powinno teraz wyglądać przyzwoicie :-). Pozdrawiam, [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 22:37, 5 gru 2022 (CET) :::Hm... No nie jest lepiej. Teraz strona jest za szeroka w wersji mobilnej. A poza tym jak przenosisz, to wypadałoby podać autora ;-) [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 11:28, 6 gru 2022 (CET) ::::No wycofaj swoje zmiany to będzie dobrze. Nie wiem po co zmieniasz jak nie testujesz ;-P [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 11:40, 6 gru 2022 (CET) :* OK, teraz jest w porządku. Dzięki za dodanie informacji o autorach :). :* Nawiasem mówiąc myślę, że w tych różnych style.css wystarczy niższy poziom zabezpieczenia. Wystarczy jak nie będzie można zmieniać tego anonimowo. Ew. tylko redaktorzy, o ile używacie tutaj takiej rangi/poziomu uprawnień. Jak widzisz po moich zmianach i tak można dodać CSS do strony głównej inną drogą ;). Możesz też zrobić zabezpieczenie kaskadowe, ale to może zabezpieczyć znacznie więcej niż jest sensowne. Niektóre strony główne w ogóle nie są zabezpieczone. :* Aha. Jakbyś chciał testować wersję mobilną, to w tzw. devtools (CTRL+SHIFT+I) jest symulacja widoku z telefonu komórkowego. Tylko musiałbyś jeszcze wchodzić na specjalny adres [https://pl.m.wikibooks.org/ pl.m...]. Sama zmiana szerokości okna nie wystarczy. Możesz mi zaufać. Zajmuję się tym od jakichś 20 lat (od czasów jak jeszcze nie było DevTools i nie było Chrome). Jakby co więcej o używania symulacji smartfona znajdziesz tutaj: https://firefox-source-docs.mozilla.org/devtools-user/responsive_design_mode/ Symulacja nie oddaje wszystkich aspektów (np. ekranu dotykowego), ale daje rozsądne przybliżenie doświadczenia. Możesz spróbować dostosować inne ważne strony w ten sposób. :[[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 14:49, 6 gru 2022 (CET) == Tabulator == Hej, czy moglbys mi pomoc? Nie wiem, czy istnieje polecenie dla tabulatorow (tak jak np. ''<''''br''''>'' dla linefeed). Jezeli tak, to jaki jest ich kod? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:00, 29 sty 2023 (CEST) : Dziekuje! == Szablon tabeli w szablonie quizu == Hej, przeszkadzam Ci? Jezeli tak, to po prostu powiedz. Jezeli nie, to mam klopot - wyprobowalam wszystkie mozliwosci tabulatorow, ktore znalalam w linku od Ciebie, ale zaden z nich nie dziala tak, jak bym to sobie wyobrazala. Katastrofa. Teraz chcialabym osiagnac cel "tabelkowosci" poprzez umieszczenie szablonu tabeli w szablonie quizu. Ale to najwyrazniej nie dziala - pojawia sie "blad w skladni". Probowalam roznych rzeczy (np. <nowiki><quiz display=simple> { |type="[]"}</quiz></nowiki> albo <nowiki><quiz display=simple> { |type="()"})</quiz></nowiki>. ale nic nie pomaga. Czy moglbys mi jakos pomoc? * Przyklad: [https://pl.wikibooks.org/wiki/Niemiecki/Exc/Imperfekt] [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:00, 29 sty 2023 (CEST) == Chcę dodać sekcję do artykułu Brydżowe tablice prawdopodobieństwa == Witaj, Persino. Zwracam się do Ciebie jako admina Wikibooks. Jakieś dwa lata temu poprawiłem stronę https://pl.wikibooks.org/wiki/Bryd%C5%BCowe_tablice_prawdopodobie%C5%84stwa, zmieniając prawie wszystkie prawdopodobieństwa w części Rozkład kart jednego koloru u przeciwników (uzasadnienie zmian podałem w Dyskusji tej strony). Wcześniej uzyskałem obietnicę admina, że nie cofnie moich zmian, mimo że nie będą poparte źródłami (bo sam napisałem arkusz kalkulacyjny, który wyliczył te prawdopodobieństwa). I rzeczywiście ta edycja nie została cofnięta. Nie pamiętam, kto był tym adminem, więc zwracam się do Ciebie: napisałem jeszcze jeden arkusz kalkulacyjny, który wyprodukował tabelę prawdopodobieństw, że mój partner (lub określony z przeciwników) ma k z n kart, których nie mam ja (np. w określonym kolorze). Jest to przydatne w fazie licytacji. Czy jeśli to zrobię, moja edycja nie zostanie cofnięta? Nie chcę robić tego bez takiej obietnicy, bo jednak konwersja arkusza na tabelę wiki to spora robota. Chyba, że jest automat, który pozwoli na taką konwersję - jeśli tak, to proszę o wskazówki. Arkusz obecnie jest w formacie .ods, ale mogę go zamienić na .xls. Z góry dziękuję [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 16:52, 26 lut 2023 (CET) :Cześć, Persino. :Udało mi się opanować w oparciu o https://pl.wikipedia.org/wiki/Pomoc:Tabele#Tabela_sformatowana_(zalecany_kod_tabeli) konwersję fragmentu :arkusza na tabelę wiki - jeśli uznasz poniższy opis za wart tego, to będę wdzięczny za :zamieszczenie go na tej stronie. Chyba, że mogę to zrobić sam - napisz mi. :W historii strony "Brydżowe tablice prawdopodobieństwa" może zauważysz, że skasowałem swoją edycję i wkrótce ją ponowiłem. To dlatego, że :wydawało mi się trudne wygenerowanie tabeli "Prawdopodobieństwa (w %), że partner (lub określony przeciwnik) ma przynajmniej k kart z n :brakujących (np. w określonym kolorze)" - umiałem wygenerować "Prawdopodobieństwa (w %), że partner (lub określony przeciwnik) ma NAJWYŻEJ :k kart z n brakujących (np. w określonym kolorze)", która jest mniej wygodna do użycia. Ale wkrótce po opublikowaniu zmian wymyśliłem jak to zrobić i zrobiłem. Niestety :tym razem zapomniałem wypełnić pole "Wypełnij opis zmian" - mam nadzieję, że osoby czytające Historię zmian domyślą się, że powinien on być :taki jak dla edycji, którą skasowałem: Dwie nowe tabele przydatne w fazie licytacji. :'''Konwersja prostokątnego fragmentu arkusza kalkulacyjnego na tabelę wiki''' :(Wytestowane pod Windows 10 na arkuszu Open Office Calc wersja 4.1.13). :Być może warto najpierw w arkuszu dopasować format komórek - np. ograniczyć do dwóch miejsc po przecinku; w Open Office Calc :robi się to tak: [Alt-F] [Komórki] [Zakładka Liczby] [Kategoria Numer] [Opcje Miejsca po przecinku] 2 :Następnie w arkuszu dodaj na lewo od danego obszaru kolumnę wypełnioną napisem |- i skopiuj obszar wraz z tą kolumną do Notatnika. :Przy kopiowaniu z arkusza do Notatnika kolumny są oddzielane znakiem Tab, ale nie można tego znaku wpisać z klawiatury do pola [Znajdź] :- zaznacz ten znak w tekście (myszą lub przez [Shift+strzałka]) i naciśnij [Ctrl+H] - :wypełni to pole [Znajdź] znakiem Tab; w polu [Zamień na] wpisz | i kliknij [Zamień wszystko]. Następnie skopiuj całość do :Open Office Writera (bezpłatny) i podmień wyrażenia regularne: \| na \n| (bo znaczniki muszą być w nowych wierszach; można by umieszczać :znacznik || bez nowego wiersza, ale wtedy trudniej zrobić globalną podmianę); wyrażenia regularne :włącza się za pomocą przycisku [Więcej opcji]. Po wykonaniu [Zamień wszyst.] na początku wstaw wiersz {| class="wikitable" :i ewentualnie |+ Tytuł :a na końcu wiersz |} :Jeśli pierwszy wiersz obszaru ma być traktowany jak nagłówki, podmień w odpowiednich wierszach | na ! (trzeba kliknąć [Zamień] tyle razy :ile kolumn ma tabela). Jeśli masz aktywne wyrażenia regularne, to w polu [Znajdź] musisz mieć \| :Tak wyprodukowany tekst można wkopiować do Wiki. :Puste komórki w kopiowanej części arkusza wyprodukują puste kratki tabeli - czasem to dobre a czasem złe. :[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 11:20, 27 lut 2023 (CET) == Ad:Dyskusja wikipedysty:Salicyna == ;[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty%3ASalicyna&diff=457257&oldid=292350&diffmode=source#bodyContent Ad:Dyskusja wikipedysty:Salicyna] Cześć, jaki cel miała ta edycja? Dostałam tylko niepotrzebnie powiadomienie o tym że napisałeś na mojej dyskusji, myślałam już że coś ważnego... Nudzi ci się? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:07, 5 kwi 2023 (CEST) :Nie było żadnego błędu technicznego. Takie edycje, polegające tylko na porządkowaniu kodu, można ewentualnie wykonywać przy okazji innej, znaczącej edycji, a nie spamować innym użytkownikom niepotrzebnymi powiadomieniami że ktoś do nich napisał... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:25, 5 kwi 2023 (CEST) ::Możesz przestać spamować? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:35, 5 kwi 2023 (CEST) :::To już zakrawa na czystą złośliwość z twojej strony... Czy naprawdę nie rozumiesz, że jak edytujesz czyjąś stronę dyskusji, to ta osoba dostaje czerwone powiadomienie o nowych wiadomościach i e-maila o tym że ktoś do niej napisał – i wchodzi specjalnie na Wikibooks sprawdzić co od niej chcesz po ty by zobaczyć że po raz szesnasty tego samego dnia poprawiasz tylko jakąś bzdurkę techniczną, która równie dobrze mogłaby zostać jak była i nic by się nie stało? Dostałam dziś 16 maili i powiadomień że do mnie piszesz... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:09, 5 kwi 2023 (CEST) == Historia Słowacji == To nie była żadna kopia z Wikipedii, tylko świetna książka. [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:42, 30 kwi 2023 (CEST) : {{Ping|ZAJCOPEDIA}} Ale fragmentami ściągnięta z tego serwisu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:44, 30 kwi 2023 (CEST) ::Może i tak, ale po co ją od razu usuwać? [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:45, 30 kwi 2023 (CEST) ::: {{Ping|ZAJCOPEDIA}} To wygląda na NPA. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:50, 30 kwi 2023 (CEST) ::::Na co? [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:56, 30 kwi 2023 (CEST) ::::: {{Ping|ZAJCOPEDIA}} NPA to naruszenie, praw autorskich, które tutaj należały do {{NAZWASERWISU|Wikipedii|link=tak|klucz projektu=w}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:26, 30 kwi 2023 (CEST). == Czy mogę opublikować artykuł o nowej wersji E-notacji? == Witaj, Persino. Mam pomysł dotyczący modyfikacji E-notacji, tak by była wygodniejsza w użyciu. Czasopisma matematyczne nie chcą go opublikować, bo nie pasuje do ich tematyki (nie dziwię się). Czy mógłbym go opublikować w Wikibooks? Na razie mam spisaną wersję angielską, ale jeśli to konieczne, to mogę ją przetłumaczyć na polski. Czy będę mógł w haśle Notacja naukowa w Wikipedii zrobić link do tego artykułu? To by znacznie podniosło liczbę czytelników. [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 14:24, 23 maj 2023 (CEST) A czy w polskiej Wikibooks mogę publikować po angielsku? [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 16:18, 23 maj 2023 (CEST) :Witaj, Persino. :Opublikowałem polską wersję artykułu [[Notacja West-East i Bin]]. Początkowo chyba wyświetlała się dobrze, ale ostatnio na dwóch komputerach zamiast wzorów pokazuje się komunikat: :Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „http://localhost:6011/pl.wikibooks.org/v1/v1/”:): {\displaystyle x} :- ten wzór miał wypisywać x w trybie matematycznym; inne wzory generują podobny komunikat. Czy wiesz, co może być tego przyczyną i jak ją usunąć? Komunikat proponuje wtyczkę do przeglądarki, ale jaką? Jak ją zainstalować w Chrome'ie? :Najdziwniejsze, że gdy wchodzę w edycję wersji źródłowej i patrzę na podgląd, to jest wszystko w porządku (zarówno w podglądzie w prawym oknie jak po kliknięciu przycisku Podgląd). :Z góry dziękuję za pomoc. :[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 12:01, 11 cze 2023 (CEST) ::Wykonałem pustą edycję - kliknąłem Edytuj i Opublikuj zmiany. Rzeczywiście pomogło na błąd parsera, ale nadal każdy wzór math jest w osobnej linii, a to mi nie odpowiada. Po kliknięciu Edytuj jest tak jak chcę. Poradź jak zrobić, żeby normalnie się pokazywało tak jak w prawym oknie po Edytuj, albo zgódź się na obecną pierwszą linijkę artykułu. ::[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 13:12, 12 cze 2023 (CEST) == Propozycja skryptów ułatwiających pracę zawodową == Cześć, opracowałem wczoraj taki oto skrypt w LUA. Ideą mu przyświecającą jest stworzenie kalkulatora do rozmieniania pieniędzy, który każdy może sobie ściągnąć jako element poradnika. Kod źródłowy wygląda tak: <syntaxhighlight lang=lua line> function calculateNominals(amount) local nominals = {500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01} local result = {} for _, nominal in ipairs(nominals) do local count = math.floor(amount / nominal) if count > 0 then table.insert(result, {nominal = nominal, count = count}) amount = amount - (nominal * count) end end return result end -- Przykładowe użycie: local amount = 123.45 local result = calculateNominals(amount) print("Kwota:", amount) print("Nominały:") for _, entry in ipairs(result) do print(entry.nominal, "x", entry.count) end </syntaxhighlight> w góry dziękuję za Twoją opinię :) [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 10:21, 21 cze 2023 (CEST) == Ad:Angielski == ;[https://pl.wikibooks.org/w/index.php?title=Angielski&diff=next&oldid=464709#bodyContent Ad:Angielski] Dzięki za doklejenie tego linku do wstępu. Jestem trochę załamany brakiem standaryzacji w podręcznikach językowych. Będę się starał wyrównywać. W wytycznych znalazłem tylko w [[Pomoc:Tworzenie podręcznika]] że informacyjna podstrona powinna być [[Nazwa podręcznika/O podręczniku]]. Mamy jeszcze jakieś inne tego typu spisane wytyczne? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 17:52, 23 cze 2023 (CEST) == Licencja == [[Wstęp do fizyki jądra atomowego]] w jaki sposób ograniczenie by nie stosować w pracach naukowych da się pogodzić z wolną licencją? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 09:18, 25 cze 2023 (CEST) == archiwizacja == Dzięki za zarchiwizowanie kawiarenki. To był dobry krok bo było tam już strasznie dużo starych wątków. Jednak teraz mam wątpliwości jak kontynuować naszą dyskusję o szablonach. Czy Utworzyć nowy wątek? Czy skopiować cały stary z historii? Jak uważasz? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:31, 28 cze 2023 (CEST) == Licencja - Ogólna teoria względności == Poprzednio pisałem ale nie doczekałem się odpowiedzi, o [[Wstęp do fizyki jądra atomowego]] a teraz trafiłem na [[Ogólna teoria względności]]. Tu też zapisałeś w opisie licencji "nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp." - jak to można pogodzić z CC:BY-SA? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:32, 3 lip 2023 (CEST) :Problem w tym, że podlinkowana licencja stanowi (w punkcie 8e), że tekst licencji jest kompletny i nie można dodawać dodawać do niego żadnych klauzul. Czyli po dodaniu tych klauzul mamy (a) licencję wewnętrznie sprzeczną i, co ważniejsze, (b) licencję, która nie jest licencją Creative Commons. Zapewne Creative Commons mogłaby w tej sytuacji pozwać autora za bezpodstawne posługiwanie się ich nazwą. [[Wikipedysta:Ankry|Ankry]] ([[Dyskusja wikipedysty:Ankry|dyskusja]]) 21:43, 3 lip 2023 (CEST) == Odp:Odp. Licencja - Ogólna teoria względności == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=466983}}#Odp._Licencja_-_Ogólna_teoria_względności Odp:Odp. Licencja - Ogólna teoria względności] No ale to jest sprzeczne z licencją i będzie potem stwarzać wątpliwości prawne dla chcącego używać. Czy takie rozwiązanie było z kimkolwiek konsultowane? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:57, 3 lip 2023 (CEST) == Odp:Odp. Licencja - Ogólna teoria względności == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=467013}}#Odp._Licencja_-_Ogólna_teoria_względności Odp:Odp. Licencja - Ogólna teoria względności] Jesteś autorem. Radzę więc usunięcie tego ograniczenia i stosowanie standardowej licencji. Jeżeli nie chcesz i uważasz za konieczne stosowanie takich nie wolnych ograniczeń uważam że materiał nie powinien znajdować się w Wikimediach. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 22:00, 3 lip 2023 (CEST) == Odp:Odp. Wstęp do fizyki jądra atomowego/Nukleony a budowa jądra atomowego == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=467036}}#Odp._Wstęp_do_fizyki_jądra_atomowego/Nukleony_a_budowa_jądra_atomowego Odp:Odp. Wstęp do fizyki jądra atomowego/Nukleony a budowa jądra atomowego] Umknęła mi odpowiedz i teraz też się nie udało mi doszukać. Rozumiem, że chodzi o tamtą licencję a sprawa już załatwiona. Pytasz czy może być jak w stopce teraz. Moim zdaniem ta adnotacja o licencji jest zbędna. Uważam, że powinien zostać jedynie sposób uznania autorstwa. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:03, 4 lip 2023 (CEST) == Transfer artykułu harcerskiego z Wikipedii na Wikibooks == Cześć, pingnąłem Cię w poczekalni na Wikipedii. Jeden z administratorów ponaglił mnie w temacie transferu, którego temat w sumie wyszedł z mojej inicjatywy, ale potrzebuję inspiracji jak się go robi oraz czy jest on do przeprowadzenia w sposób prosty. Podejrzewam że byłby to też dobry przyczynek to utworzenia kroniki harcerskiej na Wikibooks, a w szerszej perspektywie w rejestrze usunięć na Wikipedii moglibyśmy znaleźć na spokojnie i poprzetransferowywać na WB. Co o tym sądzisz? [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:06, 8 paź 2023 (CEST) : {{Ping|Superjurek}} Masz rację. Już dokonano transferu twojego artykułu, tzn. teraz jest pod adresem: [[Poradnik_harcerski/7_Gdańska_Integracyjna_Drużyna_Harcerska_„Keja”]]. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:48, 8 paź 2023 (CEST) == Terapia zajęciowa/WIKIBOOKS == Tak, pomogło. Teraz strona się już nie pojawia w spisie. Pozdrawiam, [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 15:56, 20 maj 2024 (CEST) == Wiesz, kto za to odpowiada? == Cześć, <br> Zaintrygowała mnie sprawa dodania [[Windtaping|mojego podręcznika]] do podręczników polecanych. Nie mam pojęcia, kto mógł to zrobić, dlatego postanowiłem poprosić Cię o pomoc w tej kwestii. <br> Nie mieszam się w kwestie kategorii - po prostu się na tym nie znam, więc to musiał być ktoś inny. Lecz nie wiem, kto. <br> Czy mógłbyś wskazać, komu mogę być wdzięczny za to wyróżnienie? Miłego dnia, <br> [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 17:16, 20 maj 2024 (CEST) == Wycofania EKów Azoniastego == Użytkownik ten uprawia zwyczajny wandalizm, a tu [https://pl.wikibooks.org/w/index.php?title=Windtaping/Czym_jest_windtaping%3F&diff=prev&oldid=489051 atak osobisty] w opisie diffu. [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 13:34, 29 cze 2024 (CEST) :: {{Ping|InternetowyGołąb}} Jak dla mnie to jest inny opis praw fizyki, ale książkę zgłoś do {{lr|Poczekalnia|poczekalni}}, aby inni użytkownicy się zapoznali się z tym problemem, czy twoja decyzja jest zasadna, już tak było na {{NAZWASERWISU|link=tak}}, że jeden użytkownik kasował wszystkim okładki, a później ten użytkownik został zablokowany przez pracowników Fundacji MediaWiki. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:44, 29 cze 2024 (CEST) :::Jakby ciebie administrator Nonsensopedii stalkował, też zapewne używałbyś ataków osobistych. Chyba, że masz dużą cierpliwość (mi się skończyła 4 lutego). [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 13:36, 29 cze 2024 (CEST) :::Rozumiem, a czy rozpatrzysz mój wniosek o blokadę? [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 13:47, 29 cze 2024 (CEST) :::: Ale najpierw musisz udowodnić na poczekalni, że ta książka jest wandalizmem, ale inni użytkownicy muszą to potwierdzić! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:52, 29 cze 2024 (CEST) :::::Nie wiem, czy jest sens udowadniać fałsz. Kłamstwo zazwyczaj ma krótkie nogi. [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 13:54, 29 cze 2024 (CEST) :::::Nie no jasne, mi chodzi teraz o działalność Azoniastego poza windtapping, jego prowokujące opisy diffów. Po prostu przejrzyj wkład. [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 14:42, 29 cze 2024 (CEST) :::::: {{Ping|InternetowyGołąb}} Gdzie są takie diff'y? Ten użytkownik potrafił znaleźć błędy językowe, dodać coś od siebie w tekstach innych, poza nieudaną próbą w swoim brudnopisie edycji strony głównej projektu {{lr2|Strona główna}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:55, 29 cze 2024 (CEST) :Hej @[[Wikipedysta:Persino|Persino]]. Użytkownik ten został zablokowany permanentnie na Wikipedii, przez co przeniósł się tutaj (zob. [https://pl.wikibooks.org/w/index.php?title=Wikipedysta:Azoniasty_220&diff=prev&oldid=489024 ten wpis] za co już powinna pójść blokada). To użytkownik uprawiający trolling, zachowujący się niepoważnie i mylący Nonsensopedię z Wikipedią. A utworzone wpisy chyba powinny podchodzić pod to, że wiki nie jest hostingiem na własne opowieści oraz nie jest też blogiem. To wszystko jest do usunięcia, a blokada też się moim zdaniem należy. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 14:58, 29 cze 2024 (CEST) ::Ponadto, czy nie dostrzegasz naprawdę że [https://pl.wikibooks.org/wiki/Windtaping/Czym_jest_windtaping%3F to] jest zmyślone? :) [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 14:59, 29 cze 2024 (CEST) ::: {{Ping|AramilFeraxa}} Już blokuję, chociaż niektóre wpisy są poprawne, ale macie racje z {{lg|Windtaping}}, cały podręcznik trzeba usunąć! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 29 cze 2024 (CEST) ::::Dzięki. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 15:17, 29 cze 2024 (CEST) :::: {{Ping|AramilFeraxa}} Muszę też sprawdzić inne wpisy tego autora! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:44, 29 cze 2024 (CEST) :::::@[[Wikipedysta:Persino|Persino]] Wraca z adresów IP, zablokuj może tworzenie Windtaping i tą stronę polecane książki. https://guc.toolforge.org/?by=date&user=84.40.140.94 [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 16:57, 12 lip 2024 (CEST) ::::::Jeszcze czego! Na to się nie zgodzimy, po tym, co się dzieje na Nonsie się nie zgodzimy. [[Specjalna:Wkład/84.40.140.94|84.40.140.94]] ([[Dyskusja wikipedysty:84.40.140.94|dyskusja]]) 16:58, 12 lip 2024 (CEST) == GFDL == Hello! I have noticed that [[:w:en:Wikipedia:Image license migration]] was not completed here. It is easy to do with a bot if you or any other active users have a bot. If not I can do it with my bot. But perhaps you could check [[Specjalna:Nieużywane_pliki]] first and see if any of the files are no longer needed and can be deleted. [[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 18:29, 30 sie 2024 (CEST) * {{Ping|MGA73}} The files there are unused. ** But the page [[Wikipedysta:Beau.bot/listy/pliki]] is invalid. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) : I created [[Szablon:Cc-by-sa-3.0-migrated]] and tried to translate the line about license migration. Please help check/fix. I think the code used in the license migration should be in English. It is much easier if files are copied to or from Commons or other wikis. Only the visible text should be translated. : I will create the templates etc. so you can see how the resul will be. Then perhaps it is easier for someone with a bot to judge if they can help. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 16:50, 7 wrz 2024 (CEST) :: I created/changed templates and made an example edit: [[Special:Diff/490081]]. Would anyone like to work on this task? :: I can probably finish it in 1 hour if I get a bot flag. But it would be great if someone that allready have a bot can do it. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 17:28, 7 wrz 2024 (CEST) ::: I made https://quarry.wmcloud.org/query/86177 where the upload date is visible (latest date so file may be eligible even if uploaded after August 2009). The files are in [[:Kategoria:Wikibooks license migration candidates]] ({{Ping|MGA73}} Now: [[:Kategoria:Pliki oczekujące na przeniesienie do Commons]]) untill they are fixed. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 21:13, 9 wrz 2024 (CEST) * {{Ping|MGA73}} Do it with your bot, because that's not what I'm for, that's what biorocrats are for.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) :: Thank you. Just to be sure. Should I edit without a bot flag or should I request a bot flag on meta? --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 20:20, 13 wrz 2024 (CEST) ::: {{Ping|MGA73}} You should ask for the bot flag on the meta with the flight attendant. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) :::: Thank you. Done! --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 22:40, 13 wrz 2024 (CEST) == Nieakceptowalny język == [https://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikibooks%3AStrona_g%C5%82%C3%B3wna&diff=490038&oldid=489708 diff] [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 11:23, 2 wrz 2024 (CEST) == Ad:Pełny ekran szablonu stronicowego {{s|StronaStart}} i jego kolegów == ;[[Dyskusja_wikipedysty:Marek_Mazurkiewicz#Pełny_ekran_szablonu_stronicowego_&#123;&#123;StronaStart&#125;&#125;_i_jego_kolegów|Ad:Pełny ekran szablonu stronicowego &#123;&#123;StronaStart&#125;&#125; i jego kolegów]] Kod nic mi nie mówi. Nadal uważam że te szablony w większości wypadków są zbędne i standardowo strony wiki wyświetlają się prawidłowo. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 22:07, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} Wybacz, ale wprowadziłeś zły kod twojego wpisu, i dlatego musiałem poprawić. Ale do rzeczy: To zależy od preferencji użytkowników, jak kto woli, i dlatego należy wprowadzić ten kod do swojego {{Code|common.css}}, aby ten kod zadziałał poprawnie, a usuwanie tych szablonów ze stron artykułów w przestrzeni: {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}, jest wandalizmem, bo mogą znaleźć się użytkownicy, którzy podzielają mój pogląd lub twój, a te wpisy tego kodu chcę umieścić w osobnym gadżecie, i nie trzeba będzie ich umieszczać na stronie użytkownika w przestrzeni {{Np|User|link=tak}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:33, 21 lis 2024 (CET) *:Jeszcze raz zrobiłem test jak strona wygląda z szablonem: [[Wikipedysta:Marek Mazurkiewicz/szablontak|Marek Mazurkiewicz/szablontak]] i bez niego: [[Wikipedysta:Marek Mazurkiewicz/szablonnie]]. Nadal uważam, że te szablony są szkodliwe. Tu nie chodzi o mnie. Uważam, że są szkodliwe dla wszystkich. W sensie czynią Wikibooks gorszą stroną. Czy proponujesz żebym ustawiał sobie w swoim Common.css kod który będzie niwielował działąnie tych szablonów? A czy rozważałeś zasępienie działania tych szablonów kodem w swoim osobistym css? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:01, 21 lis 2024 (CET) *:: {{Ping|Marek Mazurkiewicz}} Ten kod można zrobić w postaci gadżetu, który działa domyślnie, i normalnie nie trzeba będzie tworzyć własnego {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}, a jak kod jednak umieścimy na tej stronie, czyli na {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}, to można zobaczyć stronę na cały ekran plus spis treści po prawej stronie. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:08, 21 lis 2024 (CET) *:::Czyli proponowany kod znosiłby działanie szablonów. Dobrze rozumiem? Dla mnie to nie rozwiązuje problemu. Szablony też czynią Wikinews gorszą stroną gdy zaglądam bez logowania. Spis treści przecież pojawia się automatycznie w mediawiki przy 3 nagłówkach i nie potrzebne są do tego szablony. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:17, 21 lis 2024 (CET) *::: {{Ping|Marek Mazurkiewicz}} Taki gadżet będzie działać domyślnie bez zalogowania, strona będzie na całym ekranie dostępnym, a na tej stronie po prawej stronie, nie za prawą stroną, będzie spis treści (ten spis treści wyłącza automatyczny spis), który działa na każdej skórce, bez zajmowania niezbędnej przestrzeni w ekranie głównym tekstu na spis treści, bo on znajduje się po prawej strona na na, a nie za. Jak chcesz wypróbować ten kod, to stwórz {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:35, 21 lis 2024 (CET) *::::Stworzyłem [[Wikipedysta:Marek Mazurkiewicz/Common.css]] i wkleiłem tam kod i nadal widzę szkodliwe efekty działania szablonów. Tekst nadal jest w ramce i nadal wyświetla się ten dziwny spis treści mrugający i przysłaniający zamiast standardowego spisu treści mediawiki. Sprawdzałem na [[Wstęp_do_fizyki_jądra_atomowego/Nukleony a budowa jądra atomowego]] oraz na [[Wikipedysta:Marek Mazurkiewicz/szablontak]] [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 00:40, 22 lis 2024 (CET) *::::: {{Ping|Marek Mazurkiewicz}} Zamiast [[Wikipedysta:Marek Mazurkiewicz/Common.css]] powinno być [[Wikipedysta:Marek Mazurkiewicz/common.css]]. Przepraszam za pomyłkę! <del>I jeszcze zamień {{Code|translate(117%,-117%)}} na {{Code|translate(115%,-117%)}}.</del> [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:46, 22 lis 2024 (CET) *:::::: {{Ping|Marek Mazurkiewicz}} Odkomentowałem w szablonie {{s|StronaStart/stronastart.css|z przestrzenią=tak}} te wpisy do odwołania, teraz powinno się widzieć efekty pracy, sprawdź! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:17, 22 lis 2024 (CET) *:::::::Nadal ten kod nic nie naprawia. Obramowanie jest jak było. Spis treści dziwny jest jak był. Nadal uważam że te szablony są szkodliwe. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 01:30, 22 lis 2024 (CET) *::::::: {{Ping|Marek Mazurkiewicz}} Co mam zrobić bez usuwania {{s|StronaStart}} (ten szablon nie dostarcza bezpośredniego formatowania, a jego koledzy już tak)... Czy widzisz główny tekst na cały ekran, o to mi chodzi! Na smartfonach jest normalnie! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:36, 22 lis 2024 (CET) *::::::::Tak tekst jest trochę poszerzony. Nie widzę rozwiązania poza nie stosowaniem szablonu Strona start i podobnych. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 01:45, 22 lis 2024 (CET) *:::::::: {{Ping|Marek Mazurkiewicz}} A może spis treści po zwinięciu przechowywać w bardzo małej ramce, a po najechaniu na nią kreuje się spis treści, nie w tej ramce, w postaci pełnej? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:58, 22 lis 2024 (CET) *:::::::::Właśnie takie mrugające zachowanie szablonu uważam za szkodliwe. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:05, 22 lis 2024 (CET) *:::::::::: {{Ping|Marek Mazurkiewicz}} Czyli zwiększanie spisu treści od miniaturki do pełnej po najechaniu wskaźnika myszki, a po odsunięciu po czerech sekundach się zmniejsza, czyli mam zrobić, aby spis od razu po najechaniu ma być wielki, a po czterech sekundach mniejszy? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:37, 22 lis 2024 (CET) *:::::::::: {{Ping|Marek Mazurkiewicz}} A to mruganie raczej z tego wynika, że w {{Code|MediaWiki:Common.js}} w skrypcie JavaScript do transition nie zawiera muteksu, właśnie przygotowywuję skrypt, który takiego mrugania nie ma. Wynika to raczej z błędu z samego działania skryptu JS. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:42, 22 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} A użycie na stronach innych niż te wymienione artykularne (przestrzeń {{Np|Project|link=tak}}) jest kwestią wprowadzenia, to też mam poprawić? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:46, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} Jeszcze wystarczy napisać swój {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:51, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} A może trzeba wprowadzić włączenie i wyłączenie spisu treści przy poszerzonym tekście, wtedy może ci się to spodoba, w moich skryptach na moim koncie jest coś takiego, że spis treści włączony nie będzie nad tekstem po prawej stronie, bo go nie będzie tam, lub włączony będzie nad tekstem, bo tam on będzie. Można to zrobić za pomocą przycisku. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:58, 22 lis 2024 (CET) == Ad:Dyskusja wikipedysty:Marek Mazurkiewicz == ;[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty:Marek_Mazurkiewicz&curid=60083&diff=493138&oldid=493064#bodyContent Ad:Dyskusja wikipedysty:Marek Mazurkiewicz] Za każdym razem gdy edytujesz ten kod dostaję powiadomienie o nowej wiadomości. Nie ma potrzeby żebyś go tutaj poprawiał. Mówiłem już że to nie jest rozwiązanie problemu. Moim głównym problemem jest że na Wikibooks występują niestandardowe dla mediawiki i nieuzasadnione rozwiązania. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:58, 25 lis 2024 (CET) : {{Ping|Marek Mazurkiewicz}} Już skończyłem ten gadżet, który miałeś na stronach {{Code|common.css}}, ale zauważyłem, że nie wszystko da się zrobić za pomocą mechanizmu mediawiki za pomocą standardowych rozwiązań, a niestandardowym rozwiązaniem np. jest numeracja wzorów matematycznych. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:07, 26 lis 2024 (CET) == Ukrycie zmian == Hej, Wydaje mi się, że wypadałoby poukrywać zmiany [[Specjalna:Wkład/Borfa_Borforfa|tego użytkownika]]. [[Wikipedysta:Swam pl|Swam pl]] ([[Dyskusja wikipedysty:Swam pl|dyskusja]]) 15:17, 14 gru 2024 (CET) :Dzięki za ukrycie :) [[Wikipedysta:Swam pl|Swam pl]] ([[Dyskusja wikipedysty:Swam pl|dyskusja]]) 15:30, 14 gru 2024 (CET) == Filtr nadużyć blokuje edycję == Cześć, nie wiem w sumie do kogo napisać. Filtr odrzuca moje edycje w [[User:Hythonia/brudnopis]], gdy próbuję dodać zasady gry. Jedyną informacją, jaką otrzymuję, jest „Same czarne nieinterpretowalne znaki” albo „Nieprawidłowy wprowadzony tekst” ({{Ping|Hythonia}} Tutaj był błąd! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:31, 15 lut 2025 (CET)) Blokowanego tekstu nie mogę tutaj nawet wkleić, a nie ma żadnych „czarnych nieinterpretowalnych znaków”, informuje tylko o celu gry. Nie wiem, co w tej sytuacji zrobić. Pomożesz? [[Wikipedysta:Hythonia|Hythonia]] ([[Dyskusja wikipedysty:Hythonia|dyskusja]]) 14:20, 15 lut 2025 (CET) * Zauważyłem ten błąd, jestem w trakcie usuwania jego! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:25, 15 lut 2025 (CET) ** {{Ping|Hythonia}} Usunąłem ten błąd w filtrach, teraz możesz pisać, ale uważaj na przecinki i kropki, na końcu linii nie może być spacji lub tabulacji, czy nawet białych znaków o niezerowej szerokości. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:47, 15 lut 2025 (CET) ** {{Ping|Hythonia}} „Same czarne nieinterpretowalne znaki” jest zabezpieczeniem, jakby wandal chciał linię zamienić lub zastąpić ją jednym ciągiem znaków niespacjowych, okrążonych z jednej strony lub drugiej, białymi znakami lub bez nich (wtedy cała linia jest tym ciągiem znaków niespacjowych). [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:02, 15 lut 2025 (CET) **:Jasne, dziękuję bardzo. [[Wikipedysta:Hythonia|Hythonia]] ([[Dyskusja wikipedysty:Hythonia|dyskusja]]) 15:56, 15 lut 2025 (CET) **:Mówiłem, niech filtr pozwala na zapisanie edycji! [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 03:00, 16 lut 2025 (CET) **:: {{Ping|Wargo}} Dla kilku filtrów zamieniłem: '''odrzuć''', na: '''ostrzeżenie''' (aby zebrać dane, czy są poprawne). Jakie mam jeszcze zamienić tak! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:13, 16 lut 2025 (CET) == Filtr nadużyć == Hej, poprawcie sobie filtry nadużyć, aby nie łapały administratorów, bo ciągle łapie Ciebie, co utrudnia jego patrolowanie i przeglądanie [https://pl.wikibooks.org/wiki/Specjalna:Rejestr_nadu%C5%BCy%C4%87]. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 09:31, 4 mar 2025 (CET) :PS. Filtr 52 chyba generalnie wymaga poprawy swojego działania (łapie na przykład emotki typu ":)" na końcu zdania po spacji) [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 09:32, 4 mar 2025 (CET) :: Poprawię, zrobię jeszcze jedną edycję i zabieram się do pracy za filtry. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 4 mar 2025 (CET) :: <del>Odjąłem: 😊, za pomocą wyrażeń regularnych. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:54, 4 mar 2025 (CET)</del> :::To blokował filtr 52, nie 25. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 10:03, 4 mar 2025 (CET) :::: I dlatego przekreśliłem, już można napisać :), nawet po linku zewnętrznym, czy wewnętrznym, na końcu zdania :), nie tylko w cudzysłowie ":)". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:16, 4 mar 2025 (CET) ::::* Stworzyłem listę emotikonów w postaci: <code>p_emotikony:="(:\)|:\(|:D|:P|;\)|:O|:\||:S|:3|:X|:\-\*|:'\(|:\-\/|:\|\])";</code>, w filtrze 52. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:45, 4 mar 2025 (CET) == Znów filtr odrzuca == Ponownie te same problemy z automatycznym odrzucaniem zapisu określonego jako "akcja szkodliwa" i "nieprawidłowy wprowadzony tekst" - tym razem w ''Książce kucharskiej'', do której ostatnie takie wpisy (przepisy) obyły się bez kłopotu. Przyznam, że może to zniechęcać do jakiegokolwiek działania na Wikibooks. - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 12:06, 22 mar 2025 (CET) : Wybacz, że tak długo, ale błąd już został naprawiony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:50, 22 mar 2025 (CET) == MS-DOS/Okładka == Filtr nadużyć nie pozwala mi poprawić interpunkcji. Znaczników nie ruszam. [[Wikipedysta:Sebek Adamowicz|Sebek Adamowicz]] ([[Dyskusja wikipedysty:Sebek Adamowicz|dyskusja]]) 20:52, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Już błąd naprawiony, znaczniki zostały zamienione na odpowiednie szablony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:00, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Zamiast znacznika {{Tag|center}} używaj szablonu {{s|Center}}, a zamiast {{Tag|font}} używaj {{s|Font}}, bo te znaczniki są wycofywane z polskiego {{NAZWASERWISU|link=tak|po=a}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:22, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Już z filtrem nadużyć raczej nie będziesz miał kłopotu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:58, 20 kwi 2025 (CEST) ::Z kolei tu [https://pl.m.wikibooks.org/wiki/Microsoft_Windows_9x/Nieoficjalny_SP#A_co_z_innymi_wersjami?] chciałem wstawić link z Internet Archive, ale filtr nadużyć blokuje. [[Wikipedysta:Sebek Adamowicz|Sebek Adamowicz]] ([[Dyskusja wikipedysty:Sebek Adamowicz|dyskusja]]) 00:07, 21 kwi 2025 (CEST) :::{{Ping|Sebek Adamowicz}} Już nie ma tego błędu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:50, 21 kwi 2025 (CEST) == Ukrycia wersji == Hej odpowiem tutaj. Nie, to nie jest groźny wandal. Odkryłem tylko edycje ip https://pl.wikibooks.org/wiki/Specjalna:Wk%C5%82ad/77.253.96.155, gdyż jest to pewien user omijający blokadę. Nie ma podstaw do ukrywania opisu zmian i edycji, a tym bardziej nazwy użytkownika. Takie ukrycie tylko utrudnia przeglądanie wkładu i pracę. Ukrywamy przecież tylko wersje rażąco obraźliwe itp. Sam fakt, że jest to jakiś wandal nie jest podstawą do ukrycia wersji. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 11:40, 30 kwi 2025 (CEST) :{{Ping|AramilFeraxa}} Ale on, pod różnymi IP'ami, wandalizował ten projekt, co ty na to, i to są edycję AZONIASTEGO, czyli trola internetowago, że nawet użytkownicy Wikipedii, kazali usuwać jego edycję i strony. On się przeniósł z Wikipedii na Wikibooks, bo tam prawdopodobnie został zablokowany. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:52, 30 kwi 2025 (CEST) ::Ale powtarzam: samo wandalizowanie nie jest powodem do ukrywania wersji wraz z nazwą użytkownika :) Utrudnia to pracę. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 11:56, 30 kwi 2025 (CEST) == Odp.: Filtr nadużyć == Dziękuję! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:57, 29 cze 2025 (CEST) == Dlaczego ta różnica? == Hej, czy mógłbyś zerknąć tu: [[https://pl.wikibooks.org/wiki/Kategoria:Makarony]] i znalezc roznice w haslach [[https://pl.wikibooks.org/wiki/Ksi%C4%85%C5%BCka_kucharska/Spaghetti_z_mi%C4%99sem_mielonym_i_boczkiem]] oraz [[https://pl.wikibooks.org/wiki/Spaghetti_z_orzechami_i_parmezanem]] powodujący, ze przed jednym jest tekst "Książka kucharska", a przy drugim nie ma? Kategorie w tekstach źródłowych w zasadzie się pokrywają. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:09, 30 cze 2025 (CEST) * Dziekuje, wszystko jasne. I dziekuje za odblokowanie szablonu ''ek''. == Produkty spozywcze firmy Knorr - czy wolno nam "reklamowac"? == Hej, wiele przepisow jako dodatki podaje np. "1 opakowanie sosu smietanowo-serowego Knorr" i wiele podobnych. Czy to jest reklama dla Knorra, ktora powinna byc usunieta z modulu "Ksiazka kucharska", czy nie? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:27, 30 cze 2025 (CEST) * {{Ping|EdytaT}} Reklamy typu Knorr powinny być usunięte, bądź np.: "1 opakowanie sosu smietanowo-serowego Knorr", zamień w coś rodzaju na: "1 opakowanie sosu smietanowo-serowego", można też powiedzieć, jak ten owy sos przygotować. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:34, 30 cze 2025 (CEST) *:Tak myslalam i tak chcialam zrobic. Jest tego sporo. Pozdrawiam. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:37, 30 cze 2025 (CEST) == odp. Filtr nadużyć - dziekuje. == Dziekuje za pomoc. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:47, 3 lip 2025 (CEST) :Diekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:59, 4 lip 2025 (CEST) == Co to jest "Kategoria: Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka"? == Hej, mozesz pomoc? Jakos nie wiem, o jaki naglowek chodzi. Nie potrafilam tez dokopac sie do dokumentacji tego szablonu. Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 16:12, 4 lip 2025 (CEST) : {{Ping|EdytaT}} {{L|Kategoria:Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka}}, tu chodzi, że nie ma nagłówka: <nowiki>==Przypisy==</nowiki>, to nie jest błąd, tylko informacja dla wikipedysty, jakby taki nagłówek chciał dodać w kodzie, ale nie matrw się, ten nagłówek sam jest automatycznie dodawany, jeżeli go nie ma, ale nie w kodzie, ale w artykule. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:31, 4 lip 2025 (CEST) :: {{Ping|EdytaT}} Generuje go szablon {{s|Przypisy}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:37, 4 lip 2025 (CEST) == Ksiazka kucharska - bezwartościowe przepisy == Hej, w ksiazce kucharskiej sa setki przepisow wpisanych przez Swietokrzyskie... Te przepisy sa moim zdaniem do usuniecia (przynajmniej czesc z nich). Ich nazwy to "danie 1, danie 2, danie 3" lub w tym stylu. Nie wiadomo, jakie to sa dania, a nawet czytajac kazdy z tych przepisow, to nie wiadomo o co chodzi, zanim sie nie przeczyta do samego konca. A i to nie znaczy, ze mozna ten przepis zaopatrzyc w sensowna nazwe. Jest tez drugi problem z tymi przepisami - zasmiecaja ten kucharski podrecznik, czynia go malo atrakcyjnym dla zainteresowanych, sa absolutnie zniechecajace i odpychajace. Moglabym je powoli poprzegladac, zmienic nazwy, uporzdkowac kategorie lub zameldowac do skasowania (wiekszosc). Nie chce jednak przysparzac Tobie klopotu z tym ciaglym kasowaniem. Czy moze jednak zgodzilbys sie na to? Czy sa tez inni administratorzy czy edytorzy, z ktorymi trzeba by o tym porozmawiac? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:54, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Jeszcze jest jeden administrator: {{Ping|Pavroo}}, ale jest nieaktywny, od pewnego czasu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:57, 6 lip 2025 (CEST) == Co jest lepsze - jeden olbrzymi modul, czy osobne mniejsze podreczniki? == Hej - na przykladzie ksiazki kucharskiej - teoretycznie jest ksiazka zawierajaca przepisy. Ale mnostwo zwiazanych z tym tematow, np. Golabki, Chlodniki, Oleje spozywcze, Drob, Wolowina, Nabial, technia przyrzadzania potraw, Ziola, Przyprawy itd. itd. Istnieje niezliczona ilosc takich tematow i niezliczona ilosc drukowanych ksiazek na temat np. pomidorow, przyborow kuchennych, rodzajow ciast. W takich jednotematycznych ksiazkach mozna znalezc przydatne w gotowaniu informacje, a zawarcie ich w module "Ksiazka kucharska" stworzyloby podrecznik nieskonczony. Jak wiec myslisz - czy temat "oleje spozywcze" podlaczyc pod podrecznik "Ksiazka kucharska", czy utworzyc osobny modul, a w ksiazce kucharskiej stworzyc np. kategorie, w ktorej bylby link do tego tematycznego modulu? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:04, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Masz rację... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:07, 6 lip 2025 (CEST) == Linkowac / nie linkowac / dlaczego nie linkowac? == Hej, w [[Wikibooks:Zasady_i_wskazówki]] sa takie punkty: * twórz odnośniki tylko wtedy, gdy kontekst tego wymaga * staraj się nie stosować zewnętrznych odnośników Oczywiscie rozumiem, ze nie nalezy tworzyc odnosnikow do wszystkiego, co popadnie. Ale np. w Module "Napary ziolowe" piszac o cynamonie podaje informacje, ze zawiera on kumaryne. Nie chce w tym module pisac nic wiecej o kumarynie, ale uwazam, ze link do artykulu w wikipedii o kumarynie jest tu jak najbardziej na miejscu (odpowiedz na pytania: co to jest? czy jest zdrowe czy szkodliwe? ile tego mozna spozyc? w jakich innych produktach sie znajduje itd.). Jakie jest Twoje zdanie na ten temat?. Pytanie drugie: chetnie natomiast wstawiam odnosniki wewnatrz modulu, gdy piszac o czyms innym zahaczam o temat/zjawisko/rzecz juz w tym module opisane. Czy to jest szkodliwe dla wikibooks? I jeszcze trzecie pytanie: dlaczego (technicznie) lepiej nie uzywac odnosnikow? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:19, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Odnośników na zewnątrz projektów raczej nie powinno się używać, ponieważ, te strony, do których zostały użyte, i tak znikną z internetu, one będą musiały być zaktualizowane, albo skasowane, lepiej jest tworzyć odnośniki, do wewnątrz projektu, albo do {{NAZWASERWISU|link=tak|klucz projektu=w|Wikipedii polskiej}}, czy {{NAZWASERWISU|link=tak|klucz projektu=en:w|Wikipedii angielskiej}}, czy do projektu {{NAZWASERWISU|link=tak|klucz projektu=en:b|Wikibooksa angielskiego}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:29, 6 lip 2025 (CEST) == Filtr naduzyc "Styl do sprawdzenia", == Hej, bardzo wrazliwy ten filtr ... Troche nadwrazliwy. A czy mozna te filtry zmeinic tak, by pozwolily zapisac edytowana strone, a uwagi umiescic na stronie jako "Dopracowac"? Z konkretna informacja, co i gdzie jest zle? Jak znalazles, ze to akurat "warto dodac" sie filtrowi nie podoba. I dlaczego? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:53, 7 lip 2025 (CEST) * {{Ping|EdytaT}} Dzięki wyrażeniom regularnym i operacjom na łancuchach znakowych! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:55, 7 lip 2025 (CEST) == Filtry nadużyć - przeszkadzaja w uzupelnianiu podrecznikow == Hej - jest problem z filtrami naduzyc, ktore w dalszym ciagu nie pozwalaja zapisywac nowych stron lub zmian w istnieniacych stronach. Rozumiem, ze czasy sie zmieniaja i to, co kiedys bylo ok teraz jest juz nie jest. Ale to czyni edytowanie bardzo uciazliwym lub wrecz niemozliwym, a tak nie moze byc. Ostatni przyklad to uniemozliwienie utworzenia strony "Tworzenie Ekoogrodnictwo/Rośliny użytkowe/Bazylia" przez filtr naduzyc, ktoremu nie podobaja sie tabelki. Ok, ale to jest strona skopiowana (Ctrl+c) i wstawiona (Ctrl+v) z istniejacej strony o pietruszce i dopasowaniu tego, co aktualnie chce napisac w tworzonej stronie o bazylii. Nie interesuje mnie, jaki format ma tabelka zywcem skopiowana z istniejacego artykulu i wcale nie mam zamiaru zajmowac sie formatowaniem tej tabelki. Interesuje mnie tylko dopasowanie jej zawartosci. Czy "Znaczniki przestarzałe (font, tt, strike, center)", czy nie, to nie jest w tym momencie moja sprawa. Uwazam, ze jak najbardziej filtr ma prawo podac mi informacje, ze te znaczniki sa przestarzale, ale absolutnie nie moze zabronic mi utworzenia tej strony. Czy mozna cos z tym zrobic? Pozdrawiam. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:06, 18 lip 2025 (CEST) * {{Ping|EdytaT}} Przepiszę kod na szablonu używając tabelki {{s|Tabela}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:12, 18 lip 2025 (CEST) ** {{Ping|EdytaT}} Dla chcącego nie ma nic trudnego, wikitabelka za pomocą szablonów, to lepiej wygląda niż niskopoziomowa tabelka wikikodu.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:38, 18 lip 2025 (CEST) == Dla chcącego nie ma nic trudnego ... == Hej, to prawda, ale problem jest wtedy, kiedy nawet by sie chcialo i teoretycznie moglo, ale to nie jest odpowiedni moment! Filtry nie powinny uniemozöiwiac zapisania mojej praktycznie poprawnej edycji! Dziekuje za wprowadzenie zmian. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:05, 18 lip 2025 (CEST) * {{Ping|EdytaT}} Znacznik {{Tag|center}} jest '''zdeprecjonowany''' w ''HTML'', czyli wycowywany z użycia! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:11, 19 lip 2025 (CEST) == Filtr nadużyć – odrzucanie edycji w kursie [[Teoria grup przemiennych]] == Tak jak w tytule. Wprowadzam trochę wzorów za pomocą TeX-a i&nbsp;podgląd wygląda normalnie, ale niestety edycja jest odrzucana. Mogę to wkleić tutaj: Strukturę grupy przemiennej można wzbogacać na różne sposoby – nie tylko przez relację porządku. Innym sposobem jest drugie działanie dwuargumentowe: <math>G^2\to G.</math> Trudno, żeby zbiór <math>G</math> był grupą przemienną ze względu na oba działania, ale zdarza się coś podobnego. Można się przyjrzeć liczbom wymiernym <math>(\mathbb{Q}):</math> * ze względu na dodawanie są grupą przemienną <math>(\mathbb{Q},+);</math> * nie są grupą ze względu na mnożenie, ponieważ zero nie jest tu odwracalne – równanie liniowe <math>0x = 1</math> nie ma rozwiązań; * po wycięciu zera z dziedziny zbiór <math>(\mathbb{Q}_{\neq 0},\cdot)</math> istotnie jest grupą przemienną. [[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 22:42, 24 lip 2025 (CEST) :Tekst powyżej jest akceptowany i już przeszedł ale odrzucany jest kod zwykłego pogrubienia tablicowego liter R i C, przez \mathbb. [[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 22:52, 24 lip 2025 (CEST) : {{Ping|Tarnoob}} Już naprawiłem twój problem ze znacznikiem {{Tag|MATH}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:17, 25 lip 2025 (CEST) == [[Siewki roślin uprawianych w Polsce/Mydleńcowate]] == Te filtry nadużyć uniemożliwiają normalne edytowanie. Naprawdę chcesz, żeby wszyscy zrezygnowali z jakiejkolwiek działalności na Wikibooks? Bo ja tu już więcej nie wejdę... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:26, 24 sie 2025 (CEST) : {{Ping|Salicyna}} Ja rozumiem twoje rozgoryczenie, ale nikt nie jest doskonały. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:41, 24 sie 2025 (CEST) :: {{Ping|Salicyna}} A przy okazji usunąłem twój błąd. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:43, 24 sie 2025 (CEST) ::: Jaki błąd? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:45, 24 sie 2025 (CEST) ::: {{Ping|Salicyna}} Błąd, który uniemożliwił twoje zapisanie edycji. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:48, 24 sie 2025 (CEST) ::::Możesz więc mi wyjaśnić, jaki błąd popełniłam? Bo nie widzę żadnej twojej edycji poprawiającej coś w tym haśle po tym jak do ciebie napisałam. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:51, 24 sie 2025 (CEST) ::::: {{Ping|Salicyna}} Był błąd w filtrach nadużyć. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:53, 24 sie 2025 (CEST) ::::: {{Ping|Salicyna}} Teraz możesz zapisać swoją edycję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:04, 24 sie 2025 (CEST) == Wkład użytkownika Świętokrzyskie3 do usunięcia == Hej, niestety hasła utworzone przez Świętokrzyskie3 są moim zdaniem do usunięcia. Wszystkie. Zajrzałam do wielu z nich i stwierdziłam, ze są skopiowane z innych stron internetowych i nie są autorstwa tego użytkownika. Wobec tego należy je usunąć, ponieważ takie edycje są niezgodne z prawem autorskim. Nawet próba przejrzenia tych haseł (niewykonalna) nie zmieniłaby faktu, że są one kradzieżą intelektualną. Proszę napisz, czy możesz to zrobić "za jednym zamachem"? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:44, 25 wrz 2025 (CEST) : {{Ping|EdytaT}} Skasować wszystkie artykuły książki kucharskiej tego użytkownika, i sprawdzić jego dalszy dorobek! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:43, 25 wrz 2025 (CEST) :: {{Ping|EdytaT}} Sprawdź użytkownika [[Specjalna:Wkład/Snd125671]] i jego artykuły książki kucharskiej! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:30, 25 wrz 2025 (CEST) : {{Ping|EdytaT}} Już usunąłem podejrzane artykuły książki kucharskiej użytkowników: [[Specjalna:Wkład/Świętokrzyskie3]] i [[Specjalna:Wkład/Snd125671]]! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:36, 26 wrz 2025 (CEST) ::Dziekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:53, 26 wrz 2025 (CEST) == . == Cześć. Dlaczego usuwasz poradniki kulinarne? [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:45, 25 wrz 2025 (CEST) :{{Ping|Igor123121}} Sprawdź, poprzedni rozdział! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:48, 25 wrz 2025 (CEST) :Aha rozumiem - to wkład [[Specjalna:Wkład/Snd125671|Snd125671]] - ale wiesz, że nie musisz wszystkiego ręcznie usuwać tylko na górze masz funkcję"masowe usuwanie", która pozwwala wszystko usunąć błyskawicznie? [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:48, 25 wrz 2025 (CEST) ::{{Ping|Igor123121}} Chodzi mi o edycje: [[Specjalna:Wkład/Świętokrzyskie3]], a [[Specjalna:Wkład/Snd125671]] trzeba sprawdzić, a masowe usuwanie jest do ostatnich 90 dni! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:52, 25 wrz 2025 (CEST) == Automatyczne zablokowanie moich zmian == Witam, piszę podręcznik "Matematyka dla ostatnich klas szkoły podstawowej". Napotkałem się na problem z automatycznym systemem odrzucania edycji. "Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Linie z tylko wielkimi literami" Linia ta zawiera liczby w systemie rzymskim, wygląda następująco: <code>| &#39;&#39;&#39;XLVII&#39;&#39;&#39;&lt;br/&gt;(50 - 10) + 7&lt;br/&gt;40 + 7&lt;br/&gt;47 || &#39;&#39;&#39;MCMXCIX&#39;&#39;&#39;&lt;br/&gt;1000 + (1000 - 100) + (100 - 10) + (10 - 1)&lt;br/&gt;1000 + 900 + 90 + 9&lt;br/&gt;1999 || &#39;&#39;&#39;MMMCMXCIX&#39;&#39;&#39;&lt;br/&gt;3000 + (1000 - 100) + (100 - 10) + (10 - 1)&lt;br/&gt;3000 + 900 + 90 + 99&lt;br/&gt;3999</code> Uprzejmie proszę o możliwość zatwierdzenia tego rodzaju treści lub wskazanie sposobu, aby linie z liczbami rzymskimi nie były automatycznie odrzucane. Z góry dziękuję za pomoc. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 15:28, 27 wrz 2025 (CEST) : {{Ping|YxiCode}}Już możesz edytować! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:52, 27 wrz 2025 (CEST) ::Dziękuję bardzo :)) [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 19:26, 27 wrz 2025 (CEST) ::@[[Wikipedysta:Persino|Persino]]Znów otrzymałem błąd: ''Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Powtarzające się ciągi znaków w linii wikitekstu'' [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 20:02, 27 wrz 2025 (CEST) :: {{Ping|YxiCode}} Już możesz edytować.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:05, 27 wrz 2025 (CEST) == Opisy operacji == Cześć! Dostrzegam Twój ogromny wkład w działaniach administracyjnych na Wikibooks. Pragnę jednak zaznaczyć, że każda operacja (blokada, ukrycie wersji) powinno zostać ukryte krótkim opisem (Niecenzuralne słownictwo itp.), ponieważ znacznie ułatwia to śledzenie zwykłym użytkownikom, nie adminom. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:53, 29 wrz 2025 (CEST) :PS Pamiętaj, że zgodnie ze standardem blokujemy konta tymczasowe na maksymalnie 90 dni. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:02, 29 wrz 2025 (CEST) == Filtry nadużyć == Cześć. Ostatnio tworzę artykuły o potrawach, jednak niestety często spotykam się z nadgroliwością filtrów nadużyć. Filtr całkowicie blokuje dodanie cyrlicy, co jest bardzo utrudniające w przypadku np. ilustrowaniem wersją zdjęcia pochodzącą z Rosji i tym samym napisaną cyrlicą. Np. https://commons.wikimedia.org/wiki/File:%D0%93%D1%80%D0%B5%D1%87%D0%BD%D0%B5%D0%B2%D0%B0%D1%8F_%D0%BA%D0%B0%D1%88%D0%B0_%D1%81_%D0%BC%D0%BE%D0%BB%D0%BE%D0%BA%D0%BE%D0%BC.jpg [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:40, 13 paź 2025 (CEST) :{{Ping|Igor123121}} Już możesz edytować! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:45, 13 paź 2025 (CEST) ::W wolnej chwili zachęcam do sprawdzenia maila, którego Ci wysłałem i ewentualnego odpowiedzenia na niego tam ;) ::Dobrego wieczoru, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:08, 13 paź 2025 (CEST) ::Wymieniłem szablony fotografii. Dziękuje za wskazówki! ::Pozdrawiam, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:43, 14 paź 2025 (CEST) :: {{Ping|Igor123121}} Co to znaczy wymienić fotografie, a może chodzi ci o podpisanie rysunków w ich opisach!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:02, 15 paź 2025 (CEST) :: {{Ping|Igor123121}} Rysunki powinny być podpisane logicznie. W tekstach artykułów ma być odpowiednie formatowanie!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:06, 15 paź 2025 (CEST) :: {{Ping|Igor123121}} W swoich edycjach nie stosuj elementów prowokacyjnych, jak chcesz być administratorem!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:13, 15 paź 2025 (CEST) :::@[[Wikipedysta:Persino|Persino]] przepraszam ale nie bardzo rozumiem o jakie elementy chodzi. Jeżeli mógłbyś sprecyzować o który element chodzi to byłbym bardzo wdzięczny. :::Dobrego dnia. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 08:38, 15 paź 2025 (CEST) :::@[[Wikipedysta:Persino|Persino]] jeżeli dodałem jakiś element prowokacyjny to przepraszam nie miałem takiego zamiaru i nie będę miał takowego w przyszłości. Jeżeli jednak mógłbyś podać o jaki element ci chodzi to będę bardzo wdzięczny. wdzięczny. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 08:44, 15 paź 2025 (CEST) :::{{Ping|Igor123121}} Np. pod rysunkiem usuwałeś puste linie, czasami był opis rysunku jako "To jest opis"! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:52, 15 paź 2025 (CEST) ::::@[[Wikipedysta:Persino|Persino]] już ruszam z wyjaśnieniem, bo już rozumiem o co chodzi w Twoich zarzutach :) ::::# Gdy zmieniałem ręcznie napisany <nowiki>[[Plik:]]</nowiki> na <nowiki>{{plik}}</nowiki> w moich artykułach (tak jak mnie prosiłeś wczoraj) to wysłałeś mi wzór jak to robić: {{[[Szablon:Plik|Plik]]<nowiki>|plik=Rumfordsuppe.jpg|ramka=mały|rozmiar=200px|pozycja=prawo|opis=To jest opis}} (</nowiki>[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty:Igor123121&diff=prev&oldid=515771 tutaj diff]). Kopiowałem go i wklejałem do artykułów i wpisywałem nazwę zdjęcia z Wikimedia Commons, która była obecna w tamtejszym [[Plik:]]. Zdarzyło mi się zapomnieć zmienić opisu, więc zostało wzorcowe ''to jest opis'' zamiast nazwy potrawy. Wiec, że nie zrobiłem tego celowo w innych poprawkach zmieniałem nazwę opisu, jednak kilka razy omyłkowo o tym zapomniałem. ::::# Nie wiedziałem, że te puste linię na początku wikitekstu są potrzebne, bo bez nich szablon również działał poprawnie. Dziękuję, że mnie uświadomiłeś, na przyszłość nie będę ich kasował. ::::Mam nadzieje, że wytłumaczyłem swoje edycje i, że w żadnym wypadku nie były one prowokacjami wobec społeczności. Uprzejmie proszę o odpowiedź czy dokładnie rozumiesz moją odpowiedź. Przepraszam za zamieszanie. Nigdy nie mam zamiaru prowokować społeczności, chcę rozwijać Wikibooks razem z Tobą i EdytąT. ::::Z pozdrowieniami, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 14:03, 15 paź 2025 (CEST) ::::{{Ping|Igor123121}} Każdy popełnia błąd, nawet ja, było, minęło i koniec. Rozumiem twoją wypowiedź. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:09, 15 paź 2025 (CEST) :::::Zachęcam do rzucenia okiem: [[Wikibooks:Przyznawanie uprawnień/Igor123121]] :::::Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:13, 16 paź 2025 (CEST) ::::::Cześć! Czy wszystko jest w porządku z szablonami? Głosowanie zakończyło się wczoraj a dalej wyświetla się jako '''''Głosowanie trwa''''' ::::::[[Wikibooks:Przyznawanie uprawnień/Igor123121]] ::::::Pozdrawiam! Jeśli się uda zaaktualizować status to wyślę zgłoszenie do Stewarda, ponieważ nie mamy już tutaj biurokratów jak kiedyś. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 06:31, 24 paź 2025 (CEST) :::::: {{Ping|Igor123121}} Już teraz wszystko jest w porządku, trzeba było zapisać pustą edycję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:05, 24 paź 2025 (CEST) == odp. Zamienianie linków wewnętrznych na zewnętrzne robiące to samo == Hej, napisales, ze zeby utworzyc link do wikipedii, to "... wystarczy napisac <nowiki>[[w:Wikipedia: ...</nowiki>" Do tej pory wystarczalo napisac "... <nowiki>[[w: ...</nowiki>". I nigdzie nie ma zadnej informacji na temat linkowania wewnetrznego. Wlasnie przegladalam ''Wikibooks:Zasady_i_wskazówki'', ''Pomoc:Spis_treści'', ''Technikalia'' - bez skutku. Prosze, nie pisz mi, ze wystarczlo sprawdzic pod ''xxx.yyy.zzz/1234''. Mamy w wikibooks niesamowite ilosci niepotrzebnego tekstu, ale konkretnej pomocy - brak. Tzn. np. na stronie "Pomoc" - spis tresci - punkt linki wewnetrzne - podpunkt Wikipedia - przyklad linkow (kiedy samo w:, a kiedy w:wikipedia). Edytujac teksty nie chce sie tracic czasu na mozolne wyszukiwanie szablonow, trickow i innych cudow, o ktorych wcale nie chce wiedziec, ze one istnieja. Dlatego poprawie te linki jak mowisz, ale mam prosbe: czy moglbys zdecydowanie uproscic teksty pomocy dla zwyklych, niezainteresowanych technikaliami edytorow? Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:22, 17 paź 2025 (CEST) : {{Ping|EdytaT}} {{Code|w:}} to kod polskiego projektu {{NAZWASERWISU|link=tak|klucz projektu=w}}, a {{Code|Wikipedia:}} to przestrzeń nazw na polskiej '''Wikipedii'''. Dlatego wcześniej było dobrze, bo ten artykuł znajdował się w przestrzeni głównej, lub jego przekierowanie, który z przestrzeni głównej linkował do przestrzeni projektu {{Code|Wikipedia:}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:29, 17 paź 2025 (CEST) == Linki do wikislownika == Hej, mam prosbe odnosnie linkow do wikislownika: otoz hasla tam tworzone sa m.in. "case sensitive". Z jezykoznawczego/gramatycznego/ortograficznego punktu widzenia jest to sprawa niezwykle wazna. Czy moglbys w szablonie linku do wikislownika usunac zmiane podanego w parametrach slowa na pisownie dokladnie taka, jak podaje parametr? Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 10:17, 23 paź 2025 (CEST) ::: Aby wyglad tego slowa "na zewnatrz" dokladnie odpowiadal wygladowi tego slowa w szablonie linku do wikislownika po znaku pipe "|". To znaczy uzylam szablonu {{s|Wikisłownik|endonim}}, kliklnelam na "zapisz zmiany" i w efekcie widze tekst "Zobacz hasło endonim w Wikisłowniku". :::: Aaaa! Wlasnie widze, ze jest ok. Dziekuje. :[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 11:09, 23 paź 2025 (CEST) : {{Ping|EdytaT}} Aby słowa były pisane od małej litery? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) :Hej, jednak jeszcze minelismy sie myslami. Piszac, ze wikislownik jest "case sensitive" mialam na mysli, ze jezeli po "|" slowo jest napisane mala litera, to ma tak zostac, a jezeli duza, to tez ma tak zostac. Bo np. "jabłko" w jezyku polskim jest pisane mala litera, a "Polska" duza. I dokladnie tak ma to wygladac "na zwenatrz", to znaczy po zapisaniu edycji. Czyli "Zobacz hasło jabłko w Wikisłowniku", "Zobacz hasło gruszka w Wikisłowniku", "Zobacz hasło Polska w Wikisłowniku", "Zobacz hasło Müller w Wikisłowniku" itd. == "prowokujące" opisy zmian w języku angielskim == Witaj, mnie uczono, że opis zmian ma przedstawiać, jakich zmian się dokonało. Czy napisanie (już odpuszczając sobie fragment tekstu piosenki), że ''Użytkownik Dynajtłymet podmienia tabelkę na normalną oraz standaryzuje treść zgodnie z dzisiejszymi normami stylistycznymi'' jest prowokujące? Dla mnie to opisowa forma przedstawiająca, co zrobiłem. Jeżeli uważasz inaczej, napisz - będziemy dyskutować, aż dojdziemy do kompromisu. Take me back to the night we met! [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:46, 26 paź 2025 (CET) : {{Ping|Dynajtłymet}} Tylko nie pisz na końcu opisu zmian takiego tekstu jak: '''Take me back to the night we met!'''! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:50, 26 paź 2025 (CET) ::Co jest złego w mojej ulubionej piosence? Lord Huron to nie kampania zwiększania ilości samobójstw. [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:51, 26 paź 2025 (CET) ::: {{Ping|Dynajtłymet}} Opis zmian ma być neutralny! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:54, 26 paź 2025 (CET) ::::A co, mój opis zmian nie jest neutralny? Będę robił taką samą neutralność jak wy. ::::https://pl.wikinews.org/w/index.php?title=Polski_Zwi%C4%85zek_Esperantyst%C3%B3w_uruchamia_cyfrowe_archiwum_na_wolnej_licencji&oldid=383085 - czy TO jest neutralne? ::::A może wzorcem neutralności będzie twoje usuwanie wszystkiego i wszystkich bez rozróżnienia co i jak? ::::Konkluzja? Inni mogą pisać "nie ma sensu wspominać tego człowieka", ja mogę pisać jedną linijkę swojego ulubionego tekstu. ::::[[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:59, 26 paź 2025 (CET) ::::: {{Ping|Dynajtłymet}} Neutralny punkt widzenia, nie ja to wymyśliłem, tylko wikipedyści! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:03, 26 paź 2025 (CET) ::::::Rozumiem i znam filary Wikipedii i jej siostrzanych projektów - ale czy nie widzisz tutaj po prostu zwyczajnej, ludzkiej hipokryzji? ::::::Ja widzę i to ogromną. Znam tego wandala osobiście. ::::::Zastosuję się do zasad, ale pod warunkiem, że ktoś zajmie się wreszcie transparentnością Wikipedii i jej projektów siostrzanych. I mogę to być nawet ja. ::::::Take me back to the night we met. [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 10:06, 26 paź 2025 (CET) == Odpowiedz - uprawnienia administratorskie == Witaj złożyłem wniosek na Meta do stewardów, jednak ciągle oczekuje na rozpatrzenie https://meta.wikimedia.org/wiki/Steward_requests/Permissions#Igor123121@plwikibooks Ale to nic nadzwyczajnego niektóre wnioski czekają znacznie dłużej, trzeba być cierpliwym. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 16:46, 26 paź 2025 (CET) :Witaj. Otrzymałem dzisiaj uprawnienia na 3 miesiące. Za 3 miesiące otworze kolejną dyskusję, przed wygaśnięciem. Niestety ale takie są zasady, że przy małych projektach trzeba najpierw przyznać kilka razy uprawnienia na czas tymczasowy. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 14:11, 28 paź 2025 (CET) == Naruszenia praw autorskich na Wikibooks == Witaj. Piszę informacyjnie - dzisiaj otrzymałem przyznane mi przez Was (dziękuję!) uprawnienia administratora. Dokończyłem sprzątanie naruszających prawa autorskie przepisów użytkownika [[Specjalna:Wkład/Snd125671|Snd125671]](bo nie wszystkie były naruszeniem), więc wydaje się, że raz na zawsze udało nam się uporać z tymi naruszeniami w książce kucharskiej. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:37, 28 paź 2025 (CET) == Storing user properties == Hi, Sorry for English. We are getting a lot warnings in our infrastructure because your account is holding 18K user properties rows which seems to be added via [[Wikipedysta:Persino/Gadget-DodatkiSubst.js/Skrypt.js]]. This is putting an undue load on the infrastructure and soon we will be adding a limit on number of rows a user can store. You can use local storage in your device instead of wikimedia servers to store these information. It would be great if you remove those rows (guideline: [[phab:T408733#11324972]]). See [[phab:T408733]] for more information. If you have any questions, feel free to contact me. Thanks! [[Wikipedysta:ASarabadani (WMF)|ASarabadani (WMF)]] ([[Dyskusja wikipedysty:ASarabadani (WMF)|dyskusja]]) 12:13, 30 paź 2025 (CET) :Hej, widzę, że już przerobiłeś swój skrypt. Dzięki za szybką reakcję :) [[Wikipedysta:Matma Rex|Matma Rex]] ([[Dyskusja wikipedysty:Matma Rex|dyskusja]]) 22:55, 30 paź 2025 (CET) == Odp. == Wydaje mi się, że wszystkie linkujące poprawiłem, jednak jeżeli mógłbyś uczynić dokładne sprawdzenie tego to byłbym ogromnie Ci wdzięczny. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:26, 31 paź 2025 (CET) :@[[Wikipedysta:Persino|Persino]] oczywiście wiem, czym są linkujące, bez przesady, aż tak źle nie jest ;) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:30, 31 paź 2025 (CET) ::@[[Wikipedysta:Persino|Persino]] dobrze spróbuje samodzielnie, nie wściekaj się na mnie, chce dobrze :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:33, 31 paź 2025 (CET) :::@[[Wikipedysta:Persino|Persino]] chyba wszystko się udało, wszystkie wzmianki i szablony o gimnazjum wymieniłem :) Bardzo Ci dziękuję za całą pomoc, którą mi udzielasz. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:27, 31 paź 2025 (CET) == "https://pl.wikibooks.org/wiki/Kategoria:Ksi%C4%85%C5%BCka_kucharska/Spis_alfabetyczny" vs "https://pl.wikibooks.org/w/index.php?title=Ksi%C4%85%C5%BCka_kucharska/Alfabetyczny_spis_potraw" == Hej, tę kategorię rozumiem i popieram. Ale czy potrzebna jest ta inna strona? Bo po pierwsze to w zasadzie duplikat, a po drugie chyba wymaga ciągłej manualnej aktualizacji. Czy sie myle? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:41, 12 lis 2025 (CET) : {{Ping|EdytaT}} Lepsza jest spis kategoria niż spis artykuł, jak tak myślę!? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:45, 12 lis 2025 (CET) == Prosba o wyjasnienie == Hej, klikajac na "Ostatnie zmiany" pojawia sie kilka naglowkow, m.in. "Ksiazki: nowe - krótkie - porzucone - Poczekalnia - Ekspresowe kasowanie - logi". I np. wsrod "porzuconych" znajduje sie przepis "[[Książka_kucharska/Zupa_z_dyni]]". To fakt, ze do tej strony (jak i chyba do wiekszosci przepisow) zadna strona sie nie odwoluje. Ale to przeciez nie znaczy, ze jest "porzucona". Czy to nie jest nieporozumienie? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:29, 14 lis 2025 (CET) :{{Ping|EdytaT}} To nie znaczy, że jest do końca porzucony, wystarczy edytować ten artykuł! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:38, 14 lis 2025 (CET) :: {{Ping|EdytaT}} Do tych stron nie odwołuje się żadna inna strona, jedynie kategorie, ale to nie jest nieporozumienie... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:42, 14 lis 2025 (CET) == Prosba o pomoc, jak poddac cos pod glosowanie nad usunieciem. == Hej, naprawde nie wiem, jak to zrobic - tak po prostu - kliknac na cos na stronie glownej (ale na co, bo jak klikne na poczekalnie, to jestem kompletnie zagubiona), gdzie mozliwie na samej gorze bedzie tekst typu "Zglos strone/podrecznik czy cokolwiek do usuniecia", a potem (albo od razu, bez dalszego przeklikiwania) bede mogla podac co proponuje usunac, dlaczego i ze prosze o glosowanie w ciagu 7 (albo wiecej) dni. Moim aktualnym kandydatem jest [https://pl.wikibooks.org/wiki/Szkice_helweckie_W%C5%82adys%C5%82awa_Tarnowskiego_z_komentarzem]. Pomoz prosze! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 19:08, 18 lis 2025 (CET) == Ta akcja została automatycznie zidentyfikowana jako szkodliwa == Witam, edytuję [[Matematyka dla ostatnich klas szkoły podstawowej/Przekątna kwadratu i wysokość w trójkącie równobocznym]] i wyświetla mi się: ''Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Kontekstowa analiza tekstu w poszukiwaniu wandalizmów w wikitekście'' Proszę o zatwierdzenie zmian. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 16:34, 27 lis 2025 (CET) :Problem już się rozwiązał, dziękuję. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 16:39, 27 lis 2025 (CET) == Szablony dla przypisow == Hej, chcialabym bardzo miec do dyspozycji kilka szablonow dla linkow do zrodel dla (grup) podrecznikow. Czy mozna cos takiego zrobic? Np: *nazwa szablonu: Szablon:Ziel_Panacea *zawartosc: https://www.https://panacea.pl/ i tutaj po znaku "|" parametr z dowolnym dodatkiem url , np: tymianek-2 i *po nastepnym po znaku "|" co ma byc widoczne dla czytelnika: ''Tymianek'' w: Panacea.pl *po nastepnym znaki "|" parametr z info o autorze, dacie publikacji, np. , Dział Rozwoju, Labofarm, 11.08.2025, *a na koncu "dostęp" + automatycznie dzisiejsza data 06.12.2025 *i po kliknieciu laduje tu: [https://panacea.pl/tymianek-2/] : albo: nazwa szablonu: Szablon:Pszcz_Pasieka24 zawartosc: [https://pasieka24.pl/index.php/pl-pl/pasieka-czasopismo-dla-pszczelarzy/ i tutaj po znaku "|" dowolny dodatek, np: 260-pasieka-5-2024 i *po nastepnym po znaku "|" co ma byc widoczne dla czytelnika: ''Pasieka 5/2024'' w: Pasieka24.pl *po nastepnym znaki "|" parametr z info o ewent. autorze, ewent. dacie publikacji i dostepnosci, np. , *a na koncu "dostęp" + automatycznie dzisiejsza data 06.12.2025 *i po kliknieciu laduje tu: [https://pasieka24.pl/index.php/pl-pl/pasieka-czasopismo-dla-pszczelarzy/260-pasieka-5-2024] [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:37, 6 gru 2025 (CET) ** Hej, dziekuje po raz pierwszy w tym temacie :) , ale moze bede mogla jeszcze raz podziekowac, jezeli: :* zobacz tu (ref z szablonem i widok przypisu): [https://pl.wikibooks.org/wiki/Napary/Macierzanka_tymianek] :* a chcialabym, zeby widok przypisu byl taki: panacea.pl, Dział Rozwoju Labofarm, ''Tymianek'', 11.08.2025 (dostęp: 07.12.2025). gdzie: # panacea.pl - to nazwa strony, czyli pierwsza czesc nazwy strony (https://panacea.pl/) wraz z dodatkiem tymianek-2, czyli podstrona, ktora wstawiam jako parametr w szablonie (jako podstrona, ale brzmienie tego parametru nie ma byc widoczne) ## i teraz strzalka linkujaca. # Dział Rozwoju Labofarm - to autor, ktorego wstawiam opcjonalnie jako kolejny parameter (autor=) # ''Tymianek'' - to tytul, ktory wstawiam jako kolejny parametr (tytul=) # 11.08.2025 - to data publikacji, ktora wstawiam opcjonalnie jako kolejny parametr (publ=) # (dostęp: 07.12.2025) - to data dostepu, generowana automatycznie przez szablon (z dzisiejszej daty). Chyba ze zapisanie jekiejkolwiek zmiany w artykule (niezwiazanej z tym przypisem) powodowaloby zmiane tej daty. To wtedy i te date musialabym wstawiac sama. :* Jezeli mozna, to wole parametry "nazwane" od "pozycyjnych". Hej, zastosowalam te szablony na dwoch stronach: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Ro%C5%9Bliny/Bluszcz] i tu [https://pl.wikibooks.org/wiki/Napary/Macierzanka_tymianek]. Czy moglbys jeszcze troche zmienic "dostep" na "dostęp " i tu dzisiejsza data w formacie dd.mm.yyyy. To wtedy ucieszylabym sie z przeniesienia tych szablonow z brudnopisu do "prawdziwych" szablonow. Wtedy dopasuje to na tych dwoch stronach. Dziekuje. * Hej, nie chcialabym byc namolna, ale ... jeszcze dwie prosby: czy da sie zmienic formatowanie "dostepu" na date zapisania edycji w formacie dd.mm.yyyy? I druga prosba: czy po kliknieciu w link moglby sie on ontwierac w nowej karcie? A poza tym perfekt. Jestes wielki. Dziekuje i pozdrawiam serdecznie. == Szablon linku dla ksiazki online jako zrodla - mozesz pomoc? == Hej, czy mozesz poprawic moja nieudana probe stworzenia przypisu i zalazku szablonu do ksiazki online? Ten zalazek szablonu to Szablon:Pszcz_FeA, a link do tego szablonu probowalam zrobic na stronie [[Pszczelarstwo/Rośliny]], ale mi nie wyszlo ... [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:46, 9 gru 2025 (CET) == Szablony linkow do czasopism jako zrodel - male nieporozumienie == Hej, chcialabym napisac, jakie sa moje zamiary, zaczne od poczatku: # Pisales kiedys, żeby raczej nie uzywac linkow zewnetrznych do zrodel, poniewaz te zrodla szybko przestaja byc aktualne i dostepne - zgadzam sie z tym w 100 procentach, wiec: # Poniewaz czasem takie zrodla sa bardzo sensowne, bo kieruja do wynikow badan naukowych i publikacji specjalistow, ktorych inaczej nie da sie uwiarygodnic. # Ergo: potrzebna jest taka metoda zrodel, ktora w nieskomplikowany sposob pomoze od czasu do czasu te zrodla uaktualnic (najczesciej inny adres strony internetowej lub wymiana na inne zrodlo) # Moim zdaniem - najlepiej przez szablony, poniewaz: ## Zmiane przeprowadza sie w jednym miejscu i obsluguje sie tym samym wieksza ilosc artykulow w wikibooks ## Waznym jest, by wiedziec, gdzie te szablony zostaly uzyte, a do tego sluzy najwygodniesza dla mnie metoda: klikam na strone szablonu, a potem na "linkujace". ## I tutaj nieporozumienie: wycielam w tych szablonach linki do wpisanych przez ciebie "ZObacz tez: Tematyczne oraz Inne, poniewaz w wyniku dla "linkujacych" one sie pokazja i informacja "ktore strony linkuja (uzywaja) tego szablonu" staje sie bezuzyteczna. Aby naprawde dowiedziec sie, gdzie ten szablon zostal uzyty, jestem zmuszona do klikania we wszystkie wyniki wyszukiwania, by sie dowiedziec, ze w tam nic nie ma, ze te szablony sa tam tylko po to, zeby byc. Wartosc informacji zerowa, czas stracony na te prodedure duzy. # Dlatego prosze cie, zebys uznal moje edycje usuwajace uzycie tych szablonych w innych szablonach, ktore z tym szablonem merytorycznie nie maja nic wspolnego. # Natomiast kategoryzacyjnie postanowilam pogrupowac te zrodla alfabetycznie (Szablony:Pszcz_... dla podrecznika pszczelarstwa, szablony: Ziel_... dla podrecznika/podrecznikow zielarskich). Tym sposobem, klikajac na kategorie tych szablonow, uzyskujesz informacje, ktore spelnia te sama role jak "zobacz tez", ale bez negatywnych skutkow ubocznych. Jejku, ale sie rozpisalam. Czy to w ogole oddaje sens tego, o czym mysle? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:16, 11 gru 2025 (CET) == Szablony do czasopism jako zrodel - czy mozliwe sa jeszcze pewne uzupelnienia? == Hej, czy mozna jeszcze troche pouzupelniac te szablony? Np. Szablon:Pszcz_Pasieka24: * teraz jest: podstrona=|nazwa=|autorzy=|czasopismo=|opublikowany=|dostęp= * lepszy bylby odpowiednik takiego ref: # refname=staly element szablonu taki sam jak nazwa szablonu # refnr=''opcjonalnie dodatek, jezeli ten szablon jest wykorzystany w artykule wiecej razy z innymi podstronami'' # autorzy=''opcjonalnie nazwiska autorow'' # strona=staly element szablonu, tzn. adres strony glownej # podstrona=''opcjonalnie podstrona (bo moze informacja jest juz na stronie glownej) # tytul=''tytul/tekst do pokazania wraz z symbolem "link"'' # czasopismo=staly element szablonu z nazwa czasopisma, ktora jest dla tego szablonu niezmienna, ale w zaleznosci od szablonu moze byc pusta # numer=''opcjonalnie numer zeszytu'' # wydawca=staly element szablonu, ktory w zaleznosci od szablonu moze byc pusty # miejscewydania=staly element szablonu, ktory w zaleznosci od szablonu moze byc puste # rokwydania=''opcjonalnie rok wydania'' # dostep=automatyczny dodatek (dostep dd.mm.yyyy) [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:39, 11 gru 2025 (CET) == Odp == Cześć. Nie plagiat, nie biorę ich z internetu ani nie przepisuje papierowych. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:31, 13 gru 2025 (CET) :Dziękuję serdecznie za przydatne rady, będę miał je w głowie. Pozdrawiam [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:35, 13 gru 2025 (CET) == Pytanie do: "Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon" == Hej, w szablonie "przypis strony" w sekcji "Jak tworzyć szablony szczególne szablonu w oparciu o ten szablon" sa takie dwie linijki, ktore wygladaja na ogolny sposob tworzenia szablonow do zrodel czasopism. Widze tam miejsce, gdzie mozna podac konkretna nazwe strony (adres=https://.....). Ale nie wiem, gdzie umiescic dalsze "stale" parametry: "czasopismo=" (tzn. jak dla tego czasopisma ma byc pokazany jego tytul), "issn=" oraz "wydawca?". Mozesz mi wyjasnic? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 16:29, 14 gru 2025 (CET) == Dlaczego nie widac nazwisk autorow w przypisie? == Hej, no nie wiem. Dlaczego tu: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Biologia/Kom%C3%B3rka] nie widac nazwisk autorow w przypisie (autorzy=Beata Bąk, Maciej Siuda, Jerzy Wilde)? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 22:06, 14 gru 2025 (CET) == Odp. == Cześć! Zaskoczyłeś mnie - myślałem, że wszystkie podręczniki są na tej samej licencji. Ale jeżeli można wybrać to najbardziej preferuje CC-BY-4.0 [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:04, 18 gru 2025 (CET) :Po obejrzeniu przykładu samodzielnie opatrzyłem podręczniki tymże szablonem :[https://pl.wikibooks.org/w/index.php?title=Etyka_dla_szko%C5%82y_podstawowej&diff=prev&oldid=528107 diff] [https://pl.wikibooks.org/w/index.php?title=Wychowanie_do_%C5%BCycia_w_rodzinie&diff=prev&oldid=528106 diff] [https://pl.wikibooks.org/w/index.php?title=Przyroda&diff=prev&oldid=528105 diff] [https://pl.wikibooks.org/w/index.php?title=Edukacja_zdrowotna&diff=prev&oldid=528104 diff] :Jeżeli chcesz to możesz sprawdzić ewentualnie poprawność wprowadzonych szablonów. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:22, 18 gru 2025 (CET) == Znacznik == Skąd i dlaczego raptem znacznik <<styl do sprawdzenia>> w poprawianym przeze mnie [[Książka kucharska/Kugel|haśle]] Książki kucharskiej? Nie rozumiem, czemu ten komunikat generuje jakieś "oprogramowanie" (a nie konkretna osoba) i o co właściwie tu chodzi wobec braku konkretnego wskazania/wskazań. Jaka sytuacja wywołuje taką adnotację dla danej edycji? Dotąd nie spotykam się z podobnymi uwagami, tym bardziej, że to raczej mnie od kilkudziesięciu lat przypada poprawianie cudzego stylu i języka. Czy mógłbyś to przystępnie wyjaśnić? - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 00:16, 20 gru 2025 (CET) == Ukrycia == Cześć! Uprzejmie przypominam, że narzędzia ukrywania używamy do chowania „wyjątkowo wulgarnych edycji”. Widziałem, że ukryłeś dziś opis zmian [https://pl.wikibooks.org/w/index.php?title=Pomocnik_olimpijczyka_-_Elementy_wiedzy_obywatelskiej_i_ekonomicznej/Scena_polityczna&diff=prev&oldid=528484 tej edycji] natomiast nie ma nic wulgarnego bądź niestosownego w opisie „''Proletariusze wszystkich krajów, łączcie się!''”, wiadomo może jest nietypowy, ale z pewnością nie kwalifikuje się do ukrycia. Tak samo przy [https://pl.wikibooks.org/w/index.php?title=Pomocnik_olimpijczyka_-_Elementy_wiedzy_obywatelskiej_i_ekonomicznej/Scena_polityczna&diff=prev&oldid=528488 tej edycji] opis „''no ja wszystko rozumiem, ale są tu też pożyteczne edycje''”, również nie zawiera niczego niestosownego. Dobrego wieczoru i serdecznie pozdrawiam :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:49, 22 gru 2025 (CET) : {{Ping|Igor123121}} Opisy tych edycji nie spełniają zasady neutralnego punktu widzenia. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:52, 22 gru 2025 (CET) ::@[[Wikipedysta:Persino|Persino]] Jasne, rozumiem, dzięki za wyjaśnienie. Nie mam zamiaru kwestionować Twojej decyzji administratorskiej. Chciałem tylko upewnić się, jak w praktyce interpretujemy zasady dotyczące ukrywania opisów zmian. Dzięki za doprecyzowanie i pozdrawiam serdecznie. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:58, 22 gru 2025 (CET) == Blokada treści przez filtr == Znów cyrki z filtrem nadużyć. Tym razem w Książce kucharskiej, w której ostatnio wszystko odbywało się bezkolizyjnie. Wprowadzam właśnie '''Włoskie pierożki wigilijne''', a w odpowiedzi otrzymuję powiadomienie o mojej "akcji jako szkodliwej", przy czym dokonane nadużycie (czego i tak nie rozumiem) brzmi: "Wielokrotne nowe linie znacznikowo-szablonowo-znakowe, kolejne w wielu liniach, lub w jednej linii". Chyba machnę ręką i niech szlag trafi cały ten przepis (i ewentualne przyszłe też). Kto bowiem uwierzy, że te udoskonalenia mają piszącym ułatwiać życie? - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 22:39, 22 gru 2025 (CET) :{{Ping|Cyborian}} Filtry są dopiero tworzone, więc przepraszam za problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:53, 24 gru 2025 (CET) == Prześladowania esperantystów w III Rzeszy i Związku Radzieckim == Dzień dobry, wczoraj wieczorem próbowałem napisać na tej stronie podręcznik dotyczący prześladowań esperantystów w III Rzeszy i Związku Radzieckim. Nie rozumiem, dlaczego moja praca została usunięta. Rozumiem, że tempo tworzenia mojej pracy oraz jej tematyka mogą być podejrzane, ale po prostu tak mam, że jestem „rewolwerzystą” w zakresie obsługiwania komputera i szybko tworzę strony, a jeżeli chodzi o braku merytoryczne, to takowe nie istnieją, gdyż zaopatrzyłem się w wszystkie niezbędne źródła. Bardzo dobrze znam temat. Wiem np. o esperanckiej grupie ruchu oporu w obozie Dachau (ok. 20 więźniów z Francji i Niemiec), posiadam niezbędne prace i chciałem tylko przybliżyć czytelnikowi ów prześladowania pisząc o nich na Wikibooks. Prosiłbym o odpowiedź z precyzyjnym wyjaśnieniem, dlaczego mało znany element historii jest „spamowaniem” i co mógłbym poprawić, aby książka mogła znowu zainstnieć. Z pozdrowieniami, [[Wikipedysta:Szmaragd zielony jak język|Szmaragd zielony jak język]] ([[Dyskusja wikipedysty:Szmaragd zielony jak język|dyskusja]]) 10:18, 23 gru 2025 (CET) : {{Ping|Szmaragd zielony jak język}} Zaloguj się pod normalną nazwą użytkownika, nie prowokuj! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:36, 23 gru 2025 (CET) == Odp. == Cześć. Obecnie niedokończoną mam tylko jedną, więc myślę, że do końca świąt powinienem ją skończyć. Wesołych świąt! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 11:14, 24 gru 2025 (CET) :Tak, tak będę go również robił spokojnie. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:27, 24 gru 2025 (CET) == Dziękuję za zaakceptowanie mojej pracy! == Zacząłem pisać dalej. Co prawda praca będzie taka „przerywana”, gdyż trochę trwa redagowanie fragmentów, a i nie mam zbyt wiele czasu – to staram się. Znalazłem kilka ciekawych źródeł, jak np. [http://esperanto.china.org.cn/EL/EL/ElPopolaCxinio/98-7-4.html ta strona], co daje mi spore pole do popisu. Pozdrawiam i mam nadzieję na owocną współpracę! [[Wikipedysta:Benjamin E. Schneider|Benjamin E. Schneider]] ([[Dyskusja wikipedysty:Benjamin E. Schneider|dyskusja]]) 11:41, 25 gru 2025 (CET) == Filtr 107 == Cześć próbowałem opublikować opracowanie „Artysty” Sławomira Mrozka, jednak filtr 107 mi nie pozwolił. Nie zauważyłem nigdzie błędów składniowych, więc gdybyś mógł rzucić okiem to byłbym wdzięczny. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:50, 28 gru 2025 (CET) :Tu chodzi o filtr 103, a nie o 107. Problem naprawiony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:44, 29 gru 2025 (CET) == zbyt silny filtr nadużyć == Filtr nadużyć mówi mi "Tekst w większości w innych systemach niż łaciński" na stronie [[Dyskusja:Biologia dla liceum/Podstawa programowa]] gdzie próbowałem sobie zanotować informację roboczą z linkiem do podstawy programowej. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:15, 29 gru 2025 (CET) :{{Ping|Marek Mazurkiewicz}} Już naprawione. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:30, 29 gru 2025 (CET) == Powtarzające się ciągi znaków w linii wikitekstu == Edytuję małą część swojego podręcznika i wymaga ona dużo znaczników <code>\frac{}</code>. Filtr nadużyć traktuje to jak spam. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 21:24, 30 gru 2025 (CET) == Dopasowania w filtrze nadużyć == Hej, niestety znowu problemy w filtrze nadużyć, które '''u n i e m o ż l i w i a j ą''' normalne edytowanie. W tej edycji [[Pszczelarstwo/Sprzęt]] nie mogę wpisać nazwy ula, która brzmi "Dadant". Prawdopodobnie dlatego, że filtr nie potrafi przełknąć "dada" bez czkawki. Wydaje mi się, że trzeba to rozwiązać tak: filtr ostrzega, a po ponownym kliknięciu zapisuje swoje zastrzeżenia na stronie dla administratorów nie blokując edytującego. Administratorzy mogą potem reagować, czy to wandalizm, nadgorliwość filtru czy zignorować. A ja, jako zwykły człowiek edytujący tekst, mogę ten tekst po prostu zapisać i dalej zajmować się tym, czym chcę się zajmować. Nie tracąc czasu, nerwów i energii na fochy filtra. Pozdrawiam serdecznie - szczęśliwego Nowego Roku! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:20, 3 sty 2026 (CET) * {{Ping|EdytaT}} Problem z filtrem naprawiony, możesz edytować spokojnie. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 3 sty 2026 (CET) == Projekt nowej strony głównej == Zajmuję się projektem, który od dawna spędza nam sen z powiek. Jak wszystko będę miał gotowe, będzie można redagować, wstawiać, etc. W ramach [[Wikipedysta:Benjamin_E._Schneider/projektyy|tej strony]] podejmuję się działań: * przepisania kodu SG na nowoczesnego HTML-a bez rozwalania na szablony * unowocześniania interfejsu SG * zadbania o przyjazność dla użytkownika. Jeżeli będziesz miał jakieś sugestie, napisz lub popraw. [[Wikipedysta:Benjamin E. Schneider|Benjamin E. Schneider]] ([[Dyskusja wikipedysty:Benjamin E. Schneider|dyskusja]]) 16:24, 6 sty 2026 (CET) == Filtr == Cześć. Dzisiaj filtr 72 ([[Specjalna:Rejestr nadużyć/8509]]) odrzucił prawidłową edycje anonimowego edytora tylko dlatego, że próbował edytować stronę, na której znajduje się nieistniejący plik (strona [[Powtarzamy matematykę - matura 2011/Matura2010 zad22]]). Czy nie warto złagodzić działania tych filtrów, np. zmienić je z odrzucania na samo oznaczanie edycji do sprawdzenia dla administratorów? Pozdrawiam. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 19:57, 8 sty 2026 (CET) :{{Ping|Igor123121}} Zamieniłem je na ostrzeżenie! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:05, 8 sty 2026 (CET) == Błąd filtru == Cześć. Dostrzegłem dzisiaj bardzo poważny błąd w filtrze 51 naszego filtru nadużyć - uniemożliwia on tworzenie stron z nieliter (przez co również nie można utworzyć strony dyskusji anonimowego użytkownika działającego przez konto tymczasowe i przez to kontaktu z nim) Zobacz proszę na ostatni rejestr filtru. Wydaje mi się, że trzeba zmienić na znacznik zamiast odrzucenie (oczywiście mógłbym sam zmienić, ale nie chce niczego dokonywać bez konsultacji z Toba). Pozdrawiam. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:07, 4 lut 2026 (CET) : {{Ping|Igor123121}} Wystarczyło dodać dodatkowe warunki. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 04:53, 5 lut 2026 (CET) == Kategoria:Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka == Hej, co powinnam robić, żeby to się nie pojawiało? Np. tu: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Ro%C5%9Bliny/Abelia]. Pozdrwiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:58, 12 lut 2026 (CET) :{{Ping|EdytaT}} To jest kategoria do zbierania stron, na których nie użyta nagłówka: <nowiki>==Przypisy==</nowiki>, inaczej mówiąc, wpisz ten nagłówek przed wywołaniem: {{s|Przypisy}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:13, 12 lut 2026 (CET) ::Hej, nie uwierzysz - teraz pojawia się: Kategoria: Szablon:Przypisy (artykuły) z oczekiwanym nagłówkiem :):):):):) [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:02, 12 lut 2026 (CET) :{{Ping|EdytaT}} Właśnie to są kategorie do zbierania tego typu przypadków, też nie uwierzysz! :):):):) [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:07, 12 lut 2026 (CET) ::{{Ping|EdytaT}} Chyba, że tą drugą mam inaczej nazwać. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:09, 12 lut 2026 (CET) :::To znaczy, żeby się tego pozbyć, to nie mogę używać przypisów? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:46, 12 lut 2026 (CET) ::::{{Ping|EdytaT}} Jak nie przypisów, to czego będziesz używać, ja je włożyłem do szablonów {{s|Przypisy}}, {{s|Uwagi}} i {{s|Przypisy-lista}}, ja tak tego nie mogę się pozbyć, bo to byłby wandalizm, musiał bym usunąć moduł {{m|Przypisy}} i samo ciało implementacji, tych szablonów! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:56, 12 lut 2026 (CET) ::::{{Ping|EdytaT}} Te dwie kategorie to są kategorie tylko informacyjne, aby wiedzieć jakiego typu przypadki są na stronie, aby je bardzo łatwo było naprawić, jakby nastąpił problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:58, 12 lut 2026 (CET) :::::No jeżeli te informacje są rzeczywiście potrzebne, to trudno. A można je chociaż "ukryć", żeby poza administratorami nikt ich nie widział? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:11, 13 lut 2026 (CET) :::::{{Ping|EdytaT}} Dobrze [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:22, 13 lut 2026 (CET) == Never ending story? == Hej, błagam, czy możesz zrobić tak, żeby żadne, absolutnie żadne filtry nie wtrącały się do tego, co edytuję? Po raz 100n-ty pojawia mi się meldunek "Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana:". Tym razem z dodatkiem: "Eksperymentalne tworzenie stron", co oczywiście nie ma nic wspólnego z rzeczywistością. Te przeszkody w edytowaniu stron odstraszyły na pewno niejednego chętnego do pisania w Wikibooks. Jestem załamana. Kompletnie załamana i już się chyba nie pozbieram. Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:08, 10 kwi 2026 (CEST) : {{Ping|EdytaT}} Już naprawiłem problem, zrobiłem, że liczba znaków maksymalna w tym filtrze, nie jest już 150, tylko 50, aby był to eksperyment edycyjny! Sprawdziłem twoje edycje, teraz nie wykrywa zmian, czyli jest OK! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:27, 10 kwi 2026 (CEST) == Prosze o pomoc == Tutaj https://pl.wikibooks.org/wiki/Zio%C5%82a_i_przyprawy/Kolendra_siewna próbuje wpisać, że Wikibooks/Ekoogrodnictwo ma artykuł na temat kolendry, a potem że Książka kucharska ma przepisy z kolendra. Ale nie umiem. Czy możesz mi pomoc? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:52, 10 kwi 2026 (CEST) : {{Ping|EdytaT}} Daj mi chwilę na stworzenie odpowiednich szablonów. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:02, 10 kwi 2026 (CEST) :: {{Ping|EdytaT}} Już szablon przyszykowany, zobacz {{s|Wikibooks}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:27, 10 kwi 2026 (CEST) == Zmiana na "stare" == Hej, widzę, że cofasz moje przekierowania na uproszczony dostęp do artykułów. Tzn. zamiast "płasko" (np. Ekoogrodnictwo/jakas-roslinka) to "w drabince" (np. Ekoogrodnictwo/stopien-drabinki/jakas-roslinka). Jest ok, niech tak będzie, ale szkoda, że o tym nie porozmawialiśmy. Robiąc moje pierwsze "spłaszczenie" chodziło mi o kilka rzeczy, co w powodzie zmiany napisałam. M.in. o prostszy zapis dostępu, aby nie trzeba było pamiętać całej drabinki robiąc z innych artykułów. Po drugie jest problem, gdy jakaś roślinka jest raczej "ozdobna" niż "użytkowa",, ale poprzez tę drabinkę jest na stale przypisana tylko do jednej z nich. W sumie to jest niepoprawne. Oczywiście zdawałam sobie sprawę, że potrzeba trochę czasu, by uporządkować te wszystkie drabinki, ale przecież ten czas mamy. A czym ty się kierowałeś? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:43, 12 kwi 2026 (CEST) : {{Ping|EdytaT}} Jak roślina jest jednocześnie użytkowa i jakiś artykuł w tym kierunku, dalej chcemy stworzyć artykuł dla tej samej rośliny, ale jako ozdobnej, to tworzymy przekierowanie do niej, ale użytkowej, ze strony artykułu, ale ozdobnej. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:01, 12 kwi 2026 (CEST) :: {{Ping|EdytaT}} W książce [[Ekoogrodnictwo]], nie wiadomo, czy dany artykuł wskazuje na roślinę, czy na coś innego, więc lepszą motywacją jest wersja drabinkowa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:58, 12 kwi 2026 (CEST) == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 22:07, 28 kwi 2026 (CEST) </div> <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 --> == Pruski/Lekcja13 == Cześć, dlaczego wycofałeś moje edycje na stronie Pruski/Lekcja13? [[Wikipedysta:Aklbmd164|Aklbmd164]] ([[Dyskusja wikipedysty:Aklbmd164|dyskusja]]) 00:53, 21 maj 2026 (CEST) sfk610p05hthbae9zijxfj6d5yri63u 543640 543636 2026-05-20T23:09:34Z Persino 2851 /* Pruski/Lekcja13 */ 543640 wikitext text/x-wiki {{Witaj}} --[[Wikipedysta:Kj|Kj]] 12:45, 5 kwi 2008 (CEST) == [[Ogólne twierdzenia i wnioski o rozkładach statystycznych]] == Na Wikibooks piszemy podręczniki, podczas, gdy ten moduł, oraz [[Twierdzenie o rozkładzie normalnym‎]] są co prawda wzorowymi artykułami, jednak nadają się bardzie na Wikipedię niż na Wikibooks. Ciekawym pomysłem mogłoby być połączenie tych artykułów w jeden podręcznik. --[[Wikipedysta:Kj|Kj]] 12:45, 5 kwi 2008 (CEST) :Pozwolę sobi dodać swoje zdanie - artykuły nadająsię na Wikibooks, tylko brakuje dla nich jakiejś "wyższej" rodziny, tzn jakiegoś podręcznika, do którego mogłyby należeć (a nie znam się na tym materiale, więc nie umiem zaproponować) --[[Wikipedysta:Lethern|Lethern]] 13:17, 5 kwi 2008 (CEST) ::Witaj. Widzę że zwrócono Ci już uwagę, ale troszeczkę nie ukierunkowano. Wikibooks polega na pisaniu podręczników - dlatego staramy się unikać luźnej formy, spotykanej na Wikipedii. Staramy się aby autorzy zawierali tutaj informacje zwarte w miarę przemyślany sposób. To prawda istnieją tu podręczniki wyglądem przypominające artykuły z Wikipedii (wszystko na jednej stronie) - choćby przykładowo [[Jak żyć oszczędnie]] jest przykładem podręcznika w formie broszurowej. Jednak forma ta obliguje do zawierania wszystkich treści związanych z podręcznikiem na jednej stronie - jest to co prawda uciążliwe dla autorów, szczególnie dużych projektów, jak i obciąża czas ładowania czytelnikowi, choć walorem jest szybki dostęp do wszystkich materiałów. Stąd też powstała idea tworzenia podręczników w formie modułowej (Tytuł/Rozdział). Więcej o tworzeniu podręcznikó znajdziesz w linkach powyżej zamieszczonych wraz z powitaniem. Warto tam zajżeć. Wiąłeś sie za spory projekt, któy zasługiwałby na zebranie w jedną większą całość, bowiem pisząc sam '''podręcznik''' pr. [[Twierdzenie o rozkładzie normalnym]] wypadałoby wspomnieć wcześniej o aspekrach matematycznych i historycznych takiego twierdzenia - tak aby była to ładna pozycja poświęcona tylko temu twierdzeniu. Dlatego też zastanawiam się czy nie lepiej byłoby abyś utworzył podręcznik, przykładowo o tytule [[Statystyka w fizyce]], czy np. [[Statystyka fizyczna]] lub nawet "Ogólne twierdzenia i wnioski o rozkładach statystycznych w fizyce" i zawarł w nim treści wyżej wymienione. Wymagałoby to operacji przeniesienia napisanych już przez Ciebie modułów (przycisk przenieś) pod nowe lokacje podręcznika: przykładowo [[Statystyka w fizyce/Twierdzenie o rozkładzie normalnym]]. Przygotowanie podręcznika z luźnych treści, typu notatki, wymaga oczywiście skonstruowania jakiejś przemyślanej formy, aby wszystko było w miarę spójne, przyjemne w czytaniu i w miarę zrozumiałe. Pozdrawiam i gratuluję pierwszych edycji. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 14:28, 5 kwi 2008 (CEST) :Persino, jeśli możesz... nie baw się w wycinanie treści, ustal nazwę podręcznika, potem przenoś treść (spróbuj przyciskiem 'przenieś') --[[Wikipedysta:Lethern|Lethern]] 16:16, 5 kwi 2008 (CEST) :Dodam, że nazwa podręcznika może być 'prosta', np. "Statystyka wyższa" (bardzo zmyślam), w tym może być nagłówek "Statystyka i matematyka funkcjonalna we współczesnej fizyce" i w nim moduł "Ogólne twierdzenie..." A gdzie widzicie przycisk 'Przenieś',bo przy wikipedii był a tu nie ma!!! --[[Wikipedysta:Persino|Mirosław Makowiecki]] :Jeśli możesz, używaj częściej przycisku 'podgląd zmian' zamiast 'zapisz' --[[Wikipedysta:Lethern|Lethern]] 14:26, 6 kwi 2008 (CEST) :Ponawiam prośbę, przycisk 'przenieś' jest w tym samym miejscu co wikipedia, a przenosząc 'brutalnie' artykuły rozwalasz linki, które się do nich odnosiły (nie ma redirectów); przycisk 'podgląd zmian'.. --[[Wikipedysta:Lethern|Lethern]] 15:41, 8 kwi 2008 (CEST) :6 zmian tej samej strony w ciągu 3 minut.. nikt Ci nie zabrania tak robić, ale czy nie mógłbyś się poslugiwac przyciskiem 'podgląd zmian'? z góry dzięki --[[Wikipedysta:Lethern|Lethern]] 15:06, 10 kwi 2008 (CEST) == Brak uprawnień do przenoszenia stron == Jak pójdę pod adres http://pl.wikibooks.org/wiki/Specjalna:Przenieś/Wikipedysta:Persino/brudnopis, to przeglądarka pisze mi: "Błędy uprawnień Nie masz uprawnień do tego działania z następującej przyczyny: Nie masz uprawnień do przenoszenia stron na Wikibooks. ",w takim razie jak mam przenosić strony, jak przeglądarka tego zabrania. Mirosław Makowiecki : Zupełnie nowi użytkownicy nie mają chyba uprawnień do przenoszenia stron. Sprawdź jutro, czy dalej masz taki problem. Jeśli tak, daj znać komuś, kto jest aktywny na Ostatnich zmianach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:22, 8 kwi 2008 (CEST) == Podgląd zmian == Hej, mógłbyś korzystać częściej z przycisku "Podgląd zmian"? Zauważyłem, że robisz seriami drobne edycje w tych samych artykułach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 14:35, 13 kwi 2008 (CEST) :Derbeth, prosiłem o to już kilkaset edycji temu -.- --[[Wikipedysta:Lethern|Lethern]] 15:58, 13 kwi 2008 (CEST) == 3k, urodziny, ściganie Japonii == Witaj pracusiu. Zbliżają się święta. Polskie Wikibooks obchodzi urodziny '''10 lipca''', do tego zbliżamy się do 3 tyś. modułów - to wspaniała szansa na podwójne święto. Ba - w rankingu Wikibooks, Polska jest zaraz za Japonią - różnica ok. 80 rozdziałów książek. Wysuwam więc pomysł z inicjatywą, [http://pl.wikibooks.org/w/index.php?title=Wikibooks%3ABar&diff=76448&oldid=76445 jak ta], żeby chwilowo zamrozić licznik. Dzięki temu będziemy mogli za około 2 tygodnie przygotowywać się do potrójnego święta. Na czym polega pomysł i inicjatywa? Licznik zlicza nowe moduły tworzone w głównej przestrzeni nazw - pomysł polega na tym, żeby wszystkie nowe strony (czerwone linki) Wikipedyści tworzyli przez najbliższe kilka tygodni w brudnopisach - na swoich stronach podręcznych "Wikipedysta:Nazwa/strona podręczna". Następnie za 2 tygodnie przenieśli je "przycisk przenieś" do przestrzeni głównej. Dzięki temu efektowi kumulacji, nie dość że zgromadzimy strony potrzebne do "doskoku i prześcignięcia" Japonii, ale i będziemy mieli potrójne święto Wikibooks. Co myślisz o tej inicjatywie - zapraszam do [[WB:BAR|baru]] do podzielenia się swoją opinią. P.S. Dodatkowo, jest pomysł utworzenia/przetłumaczenia książki urodzinowej, którą moglibyśmy dodatkowo z tej okazji, wspólnie wykonać - potrzebny jest tylko pomysł jakiej ^_^. Gorąco zapraszam. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:53, 11 cze 2008 (CEST) == Odpowiedź,urodziny, ściganie Japonii == Jeśli w święta ma być więcej niż 3000 to się zgadzam,nie dość ,że będziemy obchodzić podwójne święto, to będziemy cieszyli że pokonamy Japonię pod tym względem. Jednak warto stworzyć to dla naszej satysfakcji. Wiedząc ,że pokonamy Japonię, to liczba szybkość modów powinna wzrastać szybciej. <tt>[[Dyskusja Wikipedysty:Persino|Persino]]</tt> 00:29, 13 cze 2008 (CEST) Można ogłosić częściowy sukces - udało nam się dotrwać do lipca z przymrożonymi edycjami. Jeśli posiadasz jakieś strony w brudnopisie - gorąco zachęcam do uwolnienia ich w nadchodzących dniach (między 5-11 lipca) do przestrzeni głównej [używając przycisku "przenieś" na górze lub dole strony - w zależności od skórki jaką wybrano w profilu]. Zachęcam do dalszego udziału w projekcie i wzmożenia pracy w najbliższych dniach - może uda nam się osiągnąć pułap dodatkowych 100 artykułów i prześcignąć Japonię. ;o) Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:17, 4 lip 2008 (CEST) == Kompletność fizyki teoretycznej == Mógłbyś mi napisać, na ile procentowo oceniasz stopień kompletności podręcznika? Chciałbym dopisać do Księgozbioru [[Wikibooks:Etapy rozwoju książek|ikonkę kompletności dla twojego podręcznika]]. Przy okazji, jestem pod wrażeniem rozmiaru twojej książki. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 01:22, 10 lip 2008 (CEST) === Re:Kompletność fizyki teoretycznej === Kompletnośc mojej książki oceniam na 50% [[Wikipedysta:Persino|Mirosław Makowiecki]] 02:26, 10 lip 2008 (CEST) Zerknij proszę tutaj: [[Dyskusja:Statystyka_matematyczna]] [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:41, 23 lip 2008 (CEST) Podoba mi się ta nawigacja: [[Wikipedysta:Persino|Mirosław Makowiecki]] 23:47, 23 lip 2008 (CEST) ==Numeracja wzorów== Czy wikibooks można tak zrobić aby numer rozdziału był numerowny według pewnej reguły,i ściśle określone wzory do należącego rozdziału. Np. 10.1 rozdział 1 Wzór 10.1.1 Wzór 10.1.2 10.2 Rozdział Wzór 10.2.1 Chodzi mi o generator. [[Wikipedysta:Persino|Mirosław Makowiecki]] 00:19, 2 Sierpnia 2008 (CEST) :Jedyne co w ramach MediaWiki mogę zaproponować to [[w:Pomoc:Wzory]] i polecany tam szablon "wzór" (niestety zmuszający do ręcznego numerowania). :{{wzór|<math>c=\sqrt{a^2+b^2}</math>|10.1|bez automatu=tak}} :Niestety Wikipedia to nie LaTeX. Na koniec drobna uwaga. Jeśli chcesz zadać komuś pytanie, lub na coś odpowiedzieć to pisz na '''jego''' stronie dyskusji, a jeśli wszystkim wikipedystom to lepiej pytać w "Barze". (To pytanie znalazłem przypadkiem.) Sugeruję również stosować <math>\langle\cdot\rangle</math> zamiast <math><\cdot></math>. [[Wikipedysta:Delimata|Delimata]] 10:03, 5 sie 2008 (CEST) Jeszcze tak mi się nasunęła taka sugestia by rozważyć użycie symbolu <math>\varepsilon\,</math> zamiast <math>\epsilon\,</math>. [[Wikipedysta:Delimata|Delimata]] 11:13, 6 sie 2008 (CEST) == Giggs komentarz == Ktoś napisał: [[Dyskusja:Fizyka_statystyczna/Zespoły_statystyczne_w_fizyce_statystycznej_klasycznej|w tej dyskusji]] --[[Wikipedysta:Lethern|Lethern]] 09:59, 8 sie 2008 (CEST) == spis treści == "jak wstawić spis treści" - nie da się tego zrobić automatycznie, bo spis treści powstaje na podstawie nagłówków w artykule, więc w "innym module o innych nagłówkach" nie zrobi się taki sam spis. Można go zrobić ręcznie, napisz który i gdzie skopiować, mogę spróbować --[[Wikipedysta:Lethern|Lethern]] 11:04, 3 lis 2008 (CET) ===Re:spis treści=== Co to znaczy ręcznie? [[Persino|Persino]]19:11 3 lis 2008 :To znaczy napisać ten spis i dodać linki, tak jak np. spis modułów na stronie Fizyka.../Artykuły --[[Wikipedysta:Lethern|Lethern]] 20:45, 7 lis 2008 (CET) ''Wstawiłeś (przez użycie "wstawiania stron" "{: ... }" ) spis treści z Statystyki matematycznej do podręcznika fizyki. Poprawiłem link, bo w poprzednim była stara strona z ustawionym EK. Na stronie [[Statystyka_matematyczna]] dodałem tagi "noinclude", dzięki nim tekst między nimi nie pojawi się w miejscu gdzie kopiujesz ten moduł w podręczniku Fizyki. Jak coś to pytaj (najlepiej na mojej stronie dyskusji, łatwiej mi zobaczyć że piszesz) --[[Wikipedysta:Lethern|Lethern]] 14:36, 15 lis 2008 (CET)'' :Sprostowanie... był konflikt edycji, cofnąłem swoje, powyższe nie ma już znaczenia == Wstawianie kategorii "Ekspresowe kasowanie" == Nie rozumiem, co robisz wykonując [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna/Równania_różniczkowe_zwyczajne_rzędu_drugiego_sprowadzane_do_równań_rzędu_pierwszego&diff=85470&oldid=85443 takie edycje]. Jeśli chcesz, żeby jakaś strona była skasowana, powinieneś wstawić szablon ek i napisać, dlaczego stronę należy skasować (np. że treść została gdzieś przeniesiona). Nie mam czasu biegać po podręczniku i prowadzić dochodzenie, czy stronę kasować, czy nie. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 13:49, 6 lis 2008 (CET) :Dodam, że chodzi o wstawienie: <nowiki>{{ek|tu wpisz tlumaczenie}}</nowiki> --[[Wikipedysta:Lethern|Lethern]] 20:45, 7 lis 2008 (CET) == podręcznik == Nie wiem czy dostrzegłeś - ktoś się wpisał tu [[Dyskusja:Statystyka matematyczna/Metoda najmniejszych kwadratów]]. --[[Wikipedysta:Lethern|Lethern]] 13:11, 10 gru 2008 (CET) == Urodziny Wikibooks == Cześć. 24 stycznia polskim Wikibooksom stuknie 5 latek. Trochę byłoby szkoda, gdyby to przeszło bez echa - [http://stats.wikimedia.org/wikibooks/PL/ChartsWikipediaPL.htm podczas wakacyjnej akcji] przybyło w końcu nieco modułów :). W [[Wikibooks:Bar#Urodziny Wikibooks|kawiarence]] dałem kilka propozycji, co można by na takie urodziny zrobić. Na jesień udało mi się przez wykop rozpropagować jakoś podręcznik fotografii (i też na statsach fajnie widać październik ;) Jeśli masz inne propozycje, też je dorzuć. Wiem, że na booksach jest tak, że każdy swoją działkę pieli, ale jeśli sami się nie rozpropagujemy, to niewiele osób będzie tu trafiało. Pozdrawiam [[Wikipedysta:Przykuta|Przykuta]] 14:09, 18 sty 2009 (CET) == Spis treści fizyki teoretycznej == Zrobiłem trochę "ukruconą" wersję spisu treści do podręcznika, w [[Wikipedysta:Lethern/Fizyka teoretyczna]]. Usunąłem wszystkie podpunktu poziomu ###, #### itd., wypadło ponad 200 podpunktów. Nie jest to na pewno idealny spis, ale daję przykład, że można go zrobić bardziej czytelnym, żeby pomóc przeglądać ten spis użytkownikom (pewnie można wywalić wiele podpunktów typu ## oraz powinno się zostawić niektóre poziomu ###, ale nie bawiłem się w szczegóły). Myślę, że można by taki spis treści (mniejszy) wstawić na jakąś poboczną stronę (oddzielny moduł) lub odwrotnie, aktualny spis wstawić na oddzielny moduł. Co sądzisz? --[[Wikipedysta:Lethern|Lethern]] 13:11, 4 lut 2009 (CET) === Spis treści fizyki teoretycznej === Zrobiłem spis treści by był on szczegółowy, bo czytelnik korzystający z mniej szczegółowego spisu treści, patrzy, nie ma, a już rzeczywiście jest. Temu mój służy spis treści. '''Widziałem gorsze spisy treści''' w drukowalnych książkach, nie na '''wikibooks'''. Ja bym tak zrobił w jednym pliku "Fizyka teoretyczna" umieścił bym jednym pliku wszystko z parserami, oto psełdokod; ----------------------------------------------------------------------------- //Fizyka teoretyczna if((Tom=="Matematyka statystyczna")or(Tom=="")){ //Spis streści Matematyki statystycznej } if((Tom=="Statystyka Fizyczna")or(Tom==""){ //Spis treści statystyka fizyczna } pozodstały spis streści <nowiki>[[Kategoria:Fizyka]]</nowiki> ----------------------------------------------------------------------------- Następnie należy stworzyć plik np. "Matematyka statystyczna", a w nim, a oto psełdokod: <nowiki>{{:Fizyka_teoretyczna|Tom=Matematyka statystyczna}}</nowiki> <nowiki>[[Kategoria:Fizyka]]</nowiki> ----------------------------------------------------------------------------- Aby moja książka była bardziej przejrzysta, temu służy podział mojej książki na pliki w katalogu '''Fizyka''', które korzystają z pliku '''Fizyka teoretyczna''' by stworzyć spis treści. Czy mógłbyś to stworzyć na swoim katalogu domowym, jeśli by mnie się podobało, to prosił bym byś to zrobić to dla każdego z rozdziału z osobna. [[Wikipedysta:Persino|Persino]] 16:41, 4 lut 2009 (CET) === "Szablon" do spisu treści === [[Wikipedysta:Lethern/Fizyka_spis]] Wykorzystanie, np.: Wikipedysta:Lethern/Fizyka_spis|1|||4| czy np. Wikipedysta:Lethern/Fizyka_spis|.|.||| Każde niepuste pole (np."1") oznacza użycie danego rozdziału, puste oznacza pominięcie. Pierwsze pole to pierwszy rozdział, i tak dalej. Uwaga: "szablon" (choć nie jest szablonem), nie może być na głównej stronie, tylko w jakimś module podrzędnym. Główna strona musi z niego korzystać. Nie wiem, czy to idzie obejść. Na głównej stronie jest po prostu: Wikipedysta:Lethern/Fizyka_spis|a|a|a|a *Przykład wykorzystania - [[Wikipedysta:Lethern/Fizyka_strona]] --[[Wikipedysta:Lethern|Lethern]] 01:56, 2 mar 2009 (CET) == Linki do wzorów == Jest już pewien szablon, spróbuj z niego skorzystać: *link do użycia: : <nowiki>[[podręcznik/moduł#wzór1|Tekst opisu]]</nowiki> *tam gdzie wzór, szablon: : <nowiki>{{Indeksuj|wzór1}}<math>x=y</math></nowiki> *wygląda to tak (bez zmian): : {{Indeksuj|wzór1}}<math>x=y</math> Swoją drogą, nie zauważyłem tej wypowiedzi w temacie ze spisem treści (mogłem pominąć, a nie jest ona na mojej stronie dyskusji), ale spróbuję to zrobić --[[Wikipedysta:Lethern|Lethern]] 01:15, 2 mar 2009 (CET) :W module [[Fizyka teoretyczna/Średnie w matematyce]] zamieniłem linki do nagłówków (np. średnia arytmetyczna) na linki do wzorów. Możesz sprawdzić, jak działa, jeśli niepotrzebnie zamieniałem to cofnij moje edycje ; ) --[[Wikipedysta:Lethern|Lethern]] 11:07, 2 mar 2009 (CET) :Moja wiedza nt. wiki mówi mi,że nie ma możliwości użycia żadnego licznika, który by to zautomatyzował. Musisz ręcznie wpisywać 1, 2 itd. --[[Wikipedysta:Lethern|Lethern]] 11:50, 4 mar 2009 (CET) == Fizyka teoretyczna/Zbiór rozdziałów == Pozostawiłeś ten moduł pusty. Mams go usunąć? W tym celu wstawiaj proszę szablon: {{s|ek}}. P.S. W barze wspominałeś na temat szablonów. Nie rozumim tylko czy to było pytanie czy stwierdzenie? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 16:25, 7 mar 2009 (CET) == Fizyka teoretyczna - spis treści == Niekoniecznie rozumiem po co Ci tyle zagnieżdżonych szablonów. Ogólnie na Wikibooks źle widziane jest "forkowanie", w Księgozbiorze nie pojawiają się pozycje [[Statystyka matematyczna]], [[Klasyczna elektrodynamika]], [[Szczególna teoria względności]], [[Rachunek tensorowy]], [[Ogólna teoria względności]] itd. myślę, że wygodniej byłoby podzielić całą książkę zgodnie z nazewnictwem albo na układ taki: * strona zbiorcza "[[Fizyka teoretyczna]]" dla kilku osobnych podręczników "[[Fizyka teoretyczna cz.I - Statystyka matematyczna]]/podrozdziały" itd... * lub sugerowałbym powrót * w obecnej chwili zanim podjęte zostaną jakiekolwiek decyzje i działania (najprawdopodobniej związane z usunięciem niepotrzebnych spisów treści na nieistniejących podręcznikach, lub migracją podrozdziałów fizyki teoretycznej do właściwych podręczników) - proponuję na stronach "Statystyka matematyczna" i wszystkich innych tego typu w przestrzeni głównej nazw, umieścić szablony informujące, że jest to część z podręcznika [[Fizyka teoretyczna]] - bowiem użytkownicy będą zdezorientowani nagłą zmianą struktury i nazewnictwa - kiedy przeniesieni zostaną z podręcznika "Statystyka matematyczna" czy "Klasycznej elektrodynamiki" do "Fizyki teoretycznej". :Ewentualne przeniesienia mogą zostać wykonane botami, o ile będą dostępne. --[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:38, 7 mar 2009 (CET) == Programowanie i CSS w mediawiki == MediaWiki oparta jest na cssie więc niejako można tworzyć nowe klasy. Niestety jest to bardzo ograniczone, np. do możliwości tworzenia skinów. Ze względów bezpieczeństwa takie formuły najczęściej ograniczone są tylko do obsługi pojedynczego użytkownika. Ciut więcej możesz poczytać na stronie: http://www.mediawiki.org/wiki/Manual:CSS i jej odnośnikach. Może na precyzyjniejesze pytania będę mógł bardziej szczegółowo odpowiedzieć. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:27, 1 kwi 2009 (CEST) Zapewne chodziło Ci o wyrażenie typu: <nowiki>{{{1|2}}}</nowiki> (różnica nawiasu) oznacza to, że domyślna wartość pierwszego również domyślnego parametru szablonu, w przypadku pominięcia jego deklaracji przy użyciu szablonu będzie wynosiła 2. Przykładowo dla deklaracji: <nowiki>{{Szablon|blabla|bleble}} wartość parametru {{{1|2}}} wynosiła będzie blabla parametru {{{2}}} bleble. Z kolei zamieszczając {{Szablon}}, parametr {{{1|2}}} równy będzie 2, natomiast parametr {{{2}}} pozostanie pusty.</nowiki> -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:16, 2 kwi 2009 (CEST) == Liczby zespolone == :Część praktyczna podręcznika - tj. dodawanie i odejmowanie nie została napisana przeze mnie, i jest w chwili obecnej troszkę oderwana od podręcznika, i w najbliższym czasie będę starał się ją przeredagować. Co do zapisu <math>i= \sqrt{-1}</math> w wielu środowiskach jest przedstawiany jako bardziej prawidłowy niż krytykowany przez nie zapis <math>i^2=-1</math> za mniej dydaktyczny. W podręczniku starałem się zachować pewną wynikowość i skupić się na przystępnym i łagodnym wprowadzeniu do świata liczb urojonych jak również w miarę zrozumiałym opisie liczb zespolonych. W większości podręczników czy skryptów spotykałem się z wrzucaniem czytelników na głęboką wodę, dlatego przyjąłem konwencję wynikową opisu liczb: skoro zakładamy że są narzędziem pozwalającym obliczać pierwiastek liczb ujemnych to musimy stworzyć to narzędzie, następnie możemy na nim operować, a potrafiąc już operować można próbować przedstawiać to na rysunku. :Zgodzę się że dla matematyków znających przepisy, oczywistym jest przyjęta później konwencja operowania w zapisie "kartezjańskim", przez podawanie współrzędnych w płaszczyźnie arganda (a,b), jednak wydaje się to dość nienaturalne i usilne promowanie tego typu przedstawienia liczb najczęściej wprowadzało większy zamęt u niezaznajomionych z tematyką. Mimo wszystko uznałem za bardziej naturalny i zrozumiały dla człowieka zapis algebraiczny liczb. Staram się po prostu utrzymać jednolitą konwencję podręcznika i nie mieszać nadto pojęciami między sobą. Ale i objaśniać w łatwy sposób elementy dyskusyjne, które bagatelizowane są często w innych książkach. :Toteż, co do zapisu <MATH>\sqrt{-1}^2=(\pm i)^2\equiv -1</MATH> dla nas oczywistym jest zachowanie kolejności działań - bo nieświadomie sposób liczenia uznajemy już za oczywisty. Jednak pamiętać należy, że młodzież jest bardziej dociekliwa i często ich manipulacje cyferkami mogą pokazać, że <MATH>\sqrt{-1}^2=(\pm i)^2\equiv (\pm \sqrt{-1})^2</math> co daje nam ciekawy efekty jak np. <math> \sqrt{(-1) \cdot (-1)} = \pm 1 </MATH> p zastosowaniu analizy klasycznej. Jak widać w takiej kolejności wykonywania działań algebraicznych otrzymujemy różne efekty, a wytłumaczenie - "wybierz sobie wynik ujemny" zaczyna zakrawać o zbrodnię na dydaktyce. We "wcześniejszej" analizie takich problemów nie było, a wszyscy przyzwyczajeni byli do przemienności działań mnożenia elementów posiadających ten sam wykładnik. :Chyba, że sam posiadasz jakiś fajny pomysł na predstawienie/wytłumaczenie tego problemu w prosty i zrozumiały sposób czytelnikowi który nigdy wcześniej nie miał doczynienia z liczbami zespolonymi, a jego matematyka zakończyła się na standardowej analizie liczb rzeczywistych - bo do takich osób przede wszystkim kierowałem podręcznik. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:09, 3 kwi 2009 (CEST) :Dokładnie. I takie przedstawienie mi chodzi po głowie w dalszych rozdziałach podręcznika. Bowiem z tego co inni wrzucili już do części o działaniach na liczbach zespolonych, widzę raczej brak zrozumienia ich tematyki - standardowy dla zwykłego trybu nauczania 3Z. Chcę by ten podręcznik był inny niż standardy w tej dziedzinie. Muszę tylko skończyć parę projektów, i powrzucam to co mam na Wiki - bo nie lubię nieprzemyślanej roboty. Cieszę się że się rozumiemy w tej sprawie i nie jestem odosobniony w takim podejściu do prezentacji tych liczb. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:01, 4 kwi 2009 (CEST) == O mojej (mam nadzieję) pomocy == Witaj, piszę do Ciebie, żebyś nie niepokoił się moimi poprawkami w fizyce teoretycznej. To tak żeby uprzedzić i wyjaśnić. Nie będę ingerował - a na pewno nie bez pytania! - w tok rozumowania, w strukturę podręcznika, ani nie będę wprowadzał swoich "dodatków". Chciałbym tylko, na ile starczy mi zapału, pomóc poprawiać język, uzupełniać zgubione indeksy, ujednolicać symbole itp. z zachowaniem ciągu wywodu, który Ty zaproponowałeś. Twój wykład wymaga sporych poprawek językowych, czego chyba masz sam świadomości, prawda? Jak widziałem inni też to już wcześniej zauważyli. Pozdrawiam i... podziwiam rozmach z jakim podręcznik został zaplanowany. [[Wikipedysta:Youandme|Youandme]] 18:40, 3 kwi 2009 (CEST) == Edycje == Witaj Persino. Muszę jeszcze raz o tym napisać - czy mógłbyś spróbować więcej używać przycisku "podgląd zmian", niż "zapisz"? Jeśli boisz się o stratę dokumentu, zapisuj w notatniku. Może Tobie to nie robi różnicy, ale licznik edycji wikibooks jest sztucznie zawyżany, Ostatnie zmiany są mało czytelne, a Tobie to chyba nie będzie sprawiało wielkiego klopotu? --[[Wikipedysta:Lethern|Lethern]] 12:01, 5 kwi 2009 (CEST) Obywatelu, zlituj się, przestań robić miliony edycji. Jedna na minutę to za dużo --[[Wikipedysta:Lethern|Lethern]] 12:36, 18 kwi 2009 (CEST) == Odp: Wariacja lub wariancja == [http://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikipedysty:Youandme&diff=96991&oldid=96186 Piszesz]: : "W książce "Analiza danych" autora "Siegmund Brandt" jest używane słowo '''wariacja''' [...]". W jakim kontekście? Na której stronie? Spójrz na miejsce, gdy drugi moment pojawia się w tej książce chyba po raz pierwszy (strona 51) w rozdziale 3.3 o tytule "Funkcje jednej zmiennej losowej, wartość oczekiwana, '''wariancja''', momenty". Na wspomnianej stronie 52., jest definicja i używa słowa '''wariancja''', później mamy tytuł rozdziału 3.5 "Wartości oczekiwane, '''wariancje''', kowariancje i współczynniki korelacji", a kolejnych rozdziałach np. 11. "Analiza '''wariancji'''"! Zajrzysz do indeksu i zobaczysz, że: :'''wariancja''' 51, 76, 248, 688, 690 : - estymatora 254 : - wartości średniej 177, 199, 301 : - z próby 176, 198 : - zmiennej losowej 51 natomiast w indeksie mamy też oczywiście (i zaledwie tylko tyle): :'''wariacje''' 598 ale dotyczy to pojęcia z kombinatoryki - cytuję ze strony 598: "Takie ustaiwenia obiektów nazywamy ''wariacjami''". <br>Tak przynajmniej jest w wydaniu z 1998 roku i śmiem twierdzić, że jeśli gdzieś w tekście pojawiło się słowo '''wariacja''' w znaczeniu drugiego momentu statystycznego, to była to literówka. I podtrzymam twierdzenie, że w polskim drugi moment statystyczny nie jest nazywany wymiennie '''wariacją''' lub '''wariancją'''. [[Wikipedysta:Youandme|Youandme]] 01:23, 11 kwi 2009 (CEST) PS. Przy okazji dam spóźnioną odpowiedź: oczywiście zastosuję się do prośby o używanie szablonów "CentrujWzór" i "CentrujWzór" i cieszę się, że zaakceptowałeś moją propozycję pomocy. == Wzory == Niestety, nie mam pojęcia jak to zautomatyzować, jedynie ręczne wpisywanie widzę jako opcję --[[Wikipedysta:Lethern|Lethern]] 21:10, 18 kwi 2009 (CEST) == poprawka Bernoulliego == Poprawiłem mniej więcej to, o co prosiłeś. Jeśli nagłówki pozostałe mają być w "podpunktach", to wystarczy <nowiki>=Twierdzenie o rozkładzie wielomianowym= zmienić na ==Twierdzenie o rozkładzie wielomianowym==</nowiki> itd. --[[Wikipedysta:Lethern|Lethern]] 09:16, 20 kwi 2009 (CEST) == rozdziały bez spisu treści == Było takie coś (tag h2, h3 itd.), ale niestety już nie działa. Pozostaje nie używać === i robić ręcznie, np. <nowiki> <big>'''nazwa'''</big> </nowiki> <big><big>'''"nazwa"'''</big></big> ---- Albo przy użyciu formatowania html, --[[Wikipedysta:Lethern|Lethern]] 15:15, 28 kwi 2009 (CEST) == całka == 1. <MATH>\int_{\overset{a}{\underset{c}{b}}}c(x)dx\;</MATH> 2. <MATH>\int_{\overset{a}{\underset{c}{\overset{b}{}}}}c(x)dx\;</MATH> 3.<MATH>\int_{ \begin{matrix} a \\ b \\ c \end{matrix} }c(x)dx\;</MATH> i jeszcze 4. <math> \int\limits_{\overset{a}{\underset{c}{\overset{b}{}}}}</math> Polecam http://meta.wikimedia.org/wiki/Help:Displaying_a_formula --[[Wikipedysta:Lethern|Lethern]] 17:44, 5 maj 2009 (CEST) * Wprowadziłem zmiany w [http://pl.wikibooks.org/w/index.php?title=Fizyka_statystyczna/Przykłady_innych_zespołów_statystycznych_kanonicznych_w_fizyce_klasycznej&curid=15972&diff=99547&oldid=99524 Przykłady innych zespołów statystycznych kanonicznych w fizyce klasycznej‎], tzn. poprawiłemdwie całki. wg tego co napsałem powyżej --[[Wikipedysta:Lethern|Lethern]] 11:49, 7 maj 2009 (CEST) == Rozdziały == O ile z wiki można coś poradzić, tak na HTMLu się nie znam. Poczytaj tu: [http://meta.wikimedia.org/wiki/Help:Section#Section_linking Help:Section] (tu masz [http://meta.wikimedia.org/wiki/Help:Contents#For_editors spis]). Niestety nie wiem, co masz na myśli. Jeśli nie poradzisz sobie to napisz dokładnie, jak to ma wyglądać, najlepiej jakieś demo, to może coś pomogę (ew mozna na wikipedii o tym wspomnieć, tam więcej ludzi co się znają) Generalnie żeby do pewnego miejsca można było linkować, to coś musi zawierać: :<nowiki>{{anchor|tekst}}</nowiki> (lub) :<nowiki><span id="anchor_name">some text</span>. </nowiki> Rozdział można też tworzyć poprzez: :<nowiki><tt><h4>tekst</h4></tt> </nowiki> --[[Wikipedysta:Lethern|Lethern]] 22:14, 8 maj 2009 (CEST) == Doktorat z Wikimedia == Hmm. Dość ciekawa propozycja. Choć co prawda nie wiem co do końca masz na myśli z pisaniem doktoratu "z Wikimedia". Chcesz zająć się "fenomenem" środowiska Wiki, czy po prostu tworzyć kilku osobową publikację pracy doktorskiej? Myślę, że w tym drugim przypadku - głównymi ograniczeniami byłyby wymogi uczelniane, stawiane przez Centralną Komisję oraz prawnie podyktowane ''ustawą o stopniach naukowych'', która tak na marginesie chyba wspominała o możliwości prowadzenia wieloosobowej publikacji (art. 13 pkt 3) - mechanizm Wiki jako taki posiada historię wkładu w podręczniki, więc możesz być utożsamiany w konkretnymi częściami pracy zbiorowej, za jaką można byłoby uważać pojawiające się treści na Wikibooks. Jedynym ograniczeniem byłaby zasada Oryginal Research - co oznacza, że poniekąd "oryginalne rozwiązanie problemu naukowego" (art. 13 - pkt 1) nie mieści się w ramach Wikibooks (i najlepiej aby była rozwiązana poza Wikibooks). Za to cała część "wykazująca ogólną wiedzę teoretyczną w danej dyscyplinie naukowej lub artystycznej", jako część dedykowana dydaktyce, jak najbardziej może się znajdować na Wikibooks. Jeśli natomiast masz na myśli wykonanie publikacji drukowanej Twojego podręcznika, do puki nie będzie naruszona licencja GFDL (która pozwala nawet na sprzedaż materiałów, byle za podaniem autorów największego wkładu i zamieszczeniem pełnej treści licencji) oraz licencja grafik - osobiście myślę, że nie powinno być problemów. Nie podoba mi się tylko "zmuszanie" do rozwijania podręcznika - nauka powinna być przywilejem, nie karą ;o). -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:49, 16 maj 2009 (CEST) == PHP i wzory == Myślę, że warto by porozmawiać z programistami z MediaWiki (na IRCu, propozycjach dodatków, czy Bugzilli) w sprawie opracowania plug-inu do Wikibooks umożliwiającego prowadzenie numeracji wzorów i odwoływanie się do nich. Obecnie Wiki działa w bardzo okrojony sposób i trzeba niejako 'hackować' jej możliwości tak jak zrobiłeś to w {{s|CentrujWzór}} i {{s|LinkWzór}}, istnieją też inne narzędzia odwoławcze np. referencje: szablony: {{s|r}}, {{s|u}}, {{s|o}}, {{s|RN}} i {{s|UN}}, innym rozwiązaniem jest też użycie grup referencji <pre><references group="wzór"/></pre> - zastanawiam się czy możliwe byłoby utworzenie grupy matematycznej "wzór" i uwzględnienia w odpowiednich css'ach, ale jest to troszeczkę bardziej zaawansowany problem, wykraczający poza moje możliwościowi dostępowe do Wiki (dostęp do plików katalogów który mają programiści MediaWiki). P.S. Czy na pewno chcesz skasować: [[Fizyka teoretyczna/Rozkłady kwantowe w fizyce]]? == rozkłady == Przepraszam, że dopiero dziś odpowiadam. Wydawało mi się po prostu, że tytuły są mylące, bo rozkład statystyczny i rozkład zmiennej losowej to to samo, a tytuły sugerowały, że to co innego. W obecnej wersji jest moim zdaniem całkiem dobrze, pewnie jeszcze lepiej byłoby wszędzie jednolicie pisać "rozkład zmiennej losowej" albo "rozkład statystyczny", ale to już kosmetyka. Pozdrawiam, [[Wikipedysta:Olaf|Olaf]] 19:27, 4 cze 2009 (CEST) == [[Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Energia_ciała_w_polu_grawitacyjnym|Energia ciała w polu grawitacyjnym]] == Ucząc się do egzaminu czytam Twój podręcznik i nie jestem pewien, czy aby to równanie jest dobrze napisane. W momencie przejścia: <math>GMm\int\limits^{\infty}_r r^{-2}dr=\lim_{r_0\rightarrow \infty}GMm[-{{1}\over{r}}]^r_{r_0}</math> w niezrozumiały dla mnie sposób zamieniasz granice całkowania (całkujemy od r do nieskończoności, a potem od nieskończoności do r). Czy aby to jest dobrze? Dodam, że wyprowadzając ten wzór "od początku" otrzymuję ten sam wynik tylko z przeciwnym znakiem. Jeśli to jest mój błąd, to oczywiście przepraszam ;-). --[[Wikipedysta:Kj|Kj]] 23:17, 9 cze 2009 (CEST) == [[Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Empiryczne_Prawa_Keplera|Empiryczne Prawa Keplera]] == Witaj, znowu odkryłem drobne błędy w podręczniku i pozwoliłem je sobie poprawić. Oto zmiany (proszę o ich przejrzenie i ew. revert w przypadku mojego błędu): [http://pl.wikibooks.org/w/index.php?title=Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Empiryczne_Prawa_Keplera]. Pozdrawiam --[[Wikipedysta:Kj|Kj]] 23:39, 12 cze 2009 (CEST) == EKi == Witam, jesteś pewien chęci usunięcia tej strony: [[Fizyka teoretyczna/Elementy zagadnień z klasycznej mechaniki kwantowej]]? P.S. Usunąłem resztę, ale sprawdź jeszcze czy nie zerwało linkujących. Następnym razem jeśli przenosisz strony proszę pozmieniaj adresy w linkujących - zapobiegnie to zrywaniu i powstawaniu czerwonych linków w istniejących już modułach. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:58, 14 cze 2009 (CEST) == poprawianie podręcznika == chętnie bym poprawiał, ale nie mam najlepszego dostępu do internetu aktualnie niestety --[[Wikipedysta:Lethern|Lethern]] 23:50, 3 lip 2009 (CEST) == Autoindeksowanie == Hmm. Raczej nie spotkałem się z takim narzędziem. Mimo wszystko Wiki to nie Office czy TeX. Ale jeżeli koniecznie byłoby Ci coś takiego potrzebne, musiałbyś złożyć request na stronie https://bugzilla.wikimedia.org/ o opracowanie takiego narzędzia. Co prawda zajmie to troszkę czasu, ale może któremuś programiście zachce się stawić czoła temu problemowi. ;) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:43, 1 lip 2009 (CEST) == wzory w tekście == '''(spójrz na źródło tego tekstu)''' <br /> Możesz zrobić niektóre skróty "mniejsze" niż czcionka Tex'a, tzn.<br /> &int; &sum; &prod; &radic; &minus; &plusmn; &infin; <br /> &prop; &equiv; &ne; &le; &ge; <br /> &times; &middot; &divide; &part; &prime; &Prime; <br /> &nabla; &permil; &deg; &there4; &Oslash; &oslash; <br /> &isin; &notin; &cap; &cup; &sub; &sup; &sube; &supe; <br /> &not; &and; &or; &exist; &forall; &rArr; &hArr; <br /> &rarr; &harr; &uarr; &alefsym; - &ndash; &mdash; <br /> &alpha; &beta; &gamma; &delta; &epsilon; &zeta; &eta; &theta; &iota; &kappa; &lambda; &mu; &nu;<br /> &xi; &omicron; &pi; &rho; &sigma; &sigmaf; &tau; &upsilon; &phi; &chi; &psi; &omega;<br /> &Gamma; &Delta; &Theta; &Lambda; &Xi; &Pi; &Sigma; &Phi; &Psi; &Omega;<br /> Oczywiście, górny i dolny index: x <sub>a</sub> + y <sup>b</sup> W TeX możesz spróbować zrobić taki trick: < math> _{....} < /math> <br /> tekst tekst wzór <math>_{x^2+2x+1}\,</math> teksttekst &nbsp; czy też &nbsp; tekst <math>_{\cos \alpha + \sum_{n=3}{x_n}}\,</math> tekst tekst <br /> Problem w tym, że niektórzy muszą sięgnąć po okulary, żeby taki wzór przeczytać :D --[[Wikipedysta:Lethern|Lethern]] 23:49, 3 lip 2009 (CEST) Niektóre symbole są podane na stronie [https://web.archive.org/web/20180128055722/http://www.poradnik-webmastera.com:80/artykuly/html/znaki_specjalne_html.php] [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja Wikipedysty:Persino|dyskusja]]) 20:44, 29 wrz 2009 (CEST) == Przenoszenie i usuwanie stron == W skrócie: trzeba poprawiać odnośniki, jeśli przeniesiesz stronę. Zmienianie nazw dla stron powoduje różne problemy z linkami, jak wiesz. Zanim zmienisz nazwę modułu, zajrzyj do lewego panelu, w "narzędzia" znajdziesz "Linkujące" - powinieneś zmienić treść wszystkich tych stron, aby linkowały do nowej strony. Przykład ze złym odnośnikiem - i nie wiem nawet, jak to poprawić [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna/Momenty_statystyczne_ciągłe_i_dyskretne przykład zerwania linka] -> 2.48 (problem w tym, że redirect który był został usunięty, i nie wiem nawet gdzie strona została przeniesiona) --[[Wikipedysta:Lethern|Lethern]] 10:42, 15 lip 2009 (CEST) Cóż... widzisz, jeśli wstawisz gdzieś EK, to znaczy że chcesz ten moduł usunąć z bazy wikibooks. Jeśli jest to redirect to usuwasz go. Jeśłi przeniosłeś stronę i na starej wstawiłeś EK, to starej już nie będzie (a mógł być redirect, dzięki czemu stare linki, niepoprawione, ze starą nazwą... można poprawić, bo dojdzie się do redicerta. Jeśli się go usunie, to stare linki są czerwone i nie wiadomo, gdzie prowadzą) --[[Wikipedysta:Lethern|Lethern]] 15:34, 16 lip 2009 (CEST) Podsumuję - jeśli strona była długo usuwana, przenosisz ją - wtedy nie ustawiamy EK, ponieważ zrywa się linki np. z google (jeśli jakieś zdążyły powstać), czy z innych stron, oraz z linków wewnętrznych (wzory itd. w innych modułach). Jeśli jednak zmiana była krótko po utworzeniu modułu, sprawdzone są linki i poprawione (nie ma linkujących), to stara strona (z redirectem) może dostać EK. wstawianie tego szablonu nie jest ważne, a do tego sprawia problemy, jak widać --[[Wikipedysta:Lethern|Lethern]] 15:39, 16 lip 2009 (CEST) == Poprawianie == Zrobiłem ostatnio poprawki tu: [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna/Momenty_statystyczne_w_działaniu&curid=14030&diff=103990&oldid=102011 Momenty statystyczne], gdzie nie gdzie zmieniałem całe zdania, najlepiej sprawdź czy sens jest zachowany. Jeśli nie, daj znać, wyjaśniając o co w zdaniu chodziło --[[Wikipedysta:Lethern|Lethern]] 09:37, 17 lip 2009 (CEST) == Przepełnienie szablonów == Wygląda na to że jednak musisz ograniczyć liczbę zawartych szablonów, choćby ze względów czasowych - strony z przesadną ilością szablonów wyświetlają się tragicznie długo. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:58, 2 sie 2009 (CEST) == Zmiana nazwy użytkownika == Proszę cię, żebyś na Wikipedii zalogował się jako Persino i odpisał mi na ostatnią wiadomość. Pozdrawiam, --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 11:31, 8 lis 2009 (CET) : Witam. Sprawdź, czy z globalnym loginem jest wszystko w porządku (trochę niepotrzebnie tworzyłeś tu to konto Persino) i daj mi znać. Jeśli nie będzie problemów, zablokuję konto Persino, żeby ktoś się pod ciebie nie podszywał. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:07, 8 lis 2009 (CET) == kopiowaine == Przenoszenie materiału z wikipedii - administrator ma taką możliwość (funkcję) przenieść moduł razem z listą autorów / zmian. Myślę, że wystarczy napisać do jakiegoś aktywnego administratora. --[[Wikipedysta:Lethern|Lethern]] 15:21, 13 lis 2009 (CET) == Działania na wektorach == Edytowałem moduł [[Metody_matematyczne_fizyki/Działania_na_wektorach|Działania na wektorach]], mniej więcej do połowy przejrzałem. W jednym miejscu zaznaczyłem pochyłą czcionką coś, czego nie mogę rozczytać. Sprawdź, czy moja edycja nie zmieniła sensu tekstu ;) --[[Wikipedysta:Lethern|Lethern]] 03:30, 16 lis 2009 (CET) == [[Wikibooks:Strony do usunięcia]] == Witaj! cieszę się, że myślimy podobnie :-) Wikibooks, to bardzo specyficzny projekt (w ogóle wiki-projekty nadają się do badań socjologicznych i antropologicznych): mamy mało zarejestrowanych użytkowników, jeszcze mniej administratorów, wiele słomianego zapału i dużo anonimowych szkolnych edycji. Na szczęście - i myślę, że jeszcze przez długi czas - będzie to do opanowania (patrząc choćby po niemieckich Wikibooksach). Tym bardziej biorąc pod uwagę aktywność Panterki :-) Życie na Wikibooksach toczy się wolniej i po roku na Wikipedii, czuję się tutaj, jak na wsi. Ten projekt ma też kolosalną zaletę, której nie ma Wikipedia (o czym już kilkukrotnie rozmawiałem z Przykutą): łatwo odnaleźć pożądaną stronę i nie ma plątaniny meta-stron, stron-pomocy, pod-stron, hiper-stron itp. (jedynie szablony należy moim zdaniem uporządkować). Strony pomocy w Wikipedii to chaos a Wikibooksy nie są "obudowane" całą techniczną i społecznościową otoczką (na szczęście). Wracając do tematu: musimy ustalić konkretne zasady usuwania modułów, pojedynczych stron i całych podręczników. W przeciwnym razie będziemy mieli nadal mało kompletnych podręczników a mnóstwo sporów i wielu zrażonych początkujących użytkowników, którzy mogliby stać się autorami fachowych podręczników. Unikniemy też takich podziałów wśród autorów, jakie są na Wikipedii, gdzie co rusz padają oskarżenia o "układ" i "grupę trzymającą władzę". Podsumowując: idea Wikibooksów jest genialna a nic tak nie podbudowuje ego, jak pierwsze miejsce podręcznika w wyszukiwarce Google. Nie można więc marnować czasu na spory. Kończę, bo coś się rozgadałem... Pozdr! [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:35, 18 lis 2009 (CET) == [[Metody matematyczne fizyki/Logika matematyczna]] == Żadna strona nie linkuje do strony, którą dałem w temacie, umieść ją w jakimś spisie, bo możesz jej nie znaleźć w przyszłości ;) --[[Wikipedysta:Lethern|Lethern]] 03:39, 20 lis 2009 (CET) == [[Wikibooks:Przyznawanie uprawnień]] == Hej! poparłem Ciebie w głosowaniu (szkoda, że póki co wzięły w nim udział dwie osoby...). Dałem też ogłoszenie na Tablicy ogłoszeń - w końcu kandydat na admina, nie zdarza się często. Powinieneś zorganizować jakiś lobbying albo kampanię wyborczą :-) [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:22, 28 lis 2009 (CET) == pisanie podręczników == To dobre poprawki, jeśli chodzi o szablony. Z botem też ciekawy pomysł, jeśli umiałbyś go napisać, to zaoszczędziłby i Tobie dużo czasu, dużo poprawek, i rozwinął Wikibooks. Nie wiem, czy ktoś z zewnątrz by to pochwycił (np. w innych wikibooks), ale wystarczy, że u nas byłby niezłym krokiem do przodu. Ja akurat nie pisałem nigdy 'bota www' ;) --[[Wikipedysta:Lethern|Lethern]] 19:04, 29 lis 2009 (CET) == pewna edycja == Ktos dokonał takiej edycji: [http://pl.wikibooks.org/w/index.php?title=Fizyka_statystyczna/Cykle_(obiegi)_termodynamiczne&action=historysubmit&diff=114323&oldid=113019] --[[Wikipedysta:Lethern|Lethern]] 15:21, 30 lis 2009 (CET) :Rzecz w tym, że nie mogę cofnąć edycji, jeśli nie wiem czy jest ona poprawna czy jest błędna. Jedyne co mogłem zrobić to zgłosić ten fakt Tobie, żebyś ew. Ty ją cofnął, ponieważ masz większą wiedzę w tej dziedzinie ;) --[[Wikipedysta:Lethern|Lethern]] 21:03, 30 lis 2009 (CET) == [[Fizyka teoretyczna]] == Stworzyłem taki moduł, [[Fizyka_teoretyczna/Koordynacja]]. Na razie umieściłem tam tylko rzeczy, które mogą się dla mnie przydać. Jeśli chcesz, możesz tam dodać działy według swojego pomysłu i potrzeb --[[Wikipedysta:Lethern|Lethern]] 21:41, 30 lis 2009 (CET) == [[Dyskusja_Wikipedysty:79.190.12.155]] == Hmm, pomyśl globalnie. Czy ta edycja była wandalizmem, czy nieuwagą? Czy blokada IP "na zawsze" jest dobrą opcją z powodu jednej edycji? Czy wziąłeś pod uwagę, co się stanie, jeśli jest to IP komputera na uczelni? Nie ma potrzeby sięgać po tak drastyczne środki ;) --[[Wikipedysta:Lethern|Lethern]] 01:53, 1 gru 2009 (CET) == Administrator == Gratuluję, przyznałem Ci uprawnienia administracyjne. [[Wikipedysta:Reytan|Reytan]] 20:51, 11 gru 2009 (CET) * Pozwolę sobie dołączyć się do powyższych gratulacji :-) [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 23:19, 11 gru 2009 (CET) == Plik:Wikipedia pl logowanie mam konto.png == Cześć. usuniesz mi tą grafikę czy nie? [[Specjalna:Wkład/81.190.246.187|81.190.246.187]] 18:30, 13 gru 2009 (CET) :Nie wiem, co to za wpis, ale zignoruj go. Grafika jest użyta w 2 modułach. --[[Wikipedysta:Lethern|Lethern]] 14:27, 14 gru 2009 (CET) == EK == Zerknij do tej [[:Kategoria:Ekspresowe kasowanie|kategorii]], bo liczba haseł oczekujących na skasowanie znacząco rośnie. [[Wikipedysta:Viatoro|Viatoro]] 19:09, 28 gru 2009 (CET) == pozostałości starych modułów Fizyki Teoretycznej == Takie moduły znalazłem, które chyba się zapodziały (możliwe że któryś źle skojarzyłem), może Ci się ta lista przyda: *[[Fizyka_teoretyczna/Pochodne_wektorowe]] *[[Fizyka_teoretyczna/Wyznaczniki_funkcjonalne_i_ich_w%C5%82asno%C5%9Bci]] *[[Fizyka_teoretyczna/R%C3%B3wnania_r%C3%B3%C5%BCniczkowe]] *[[Fizyka_teoretyczna/Uk%C5%82ad_wsp%C3%B3%C5%82rz%C4%99dnych]] *[[Fizyka_teoretyczna/Obr%C3%B3t_uk%C5%82adu_wsp%C3%B3%C5%82rz%C4%99dnych]] *[[Fizyka_teoretyczna/Moment_p%C4%99du]] *[[Fizyka_teoretyczna/R%C3%B3wnanie_toru_dla_cia%C5%82a_w_polu_si%C5%82_centralnych]] *[[Fizyka_teoretyczna/Funkcje_kuliste]] *[[Fizyka_teoretyczna/Wielomiany_Legendre%27a]] *[[Fizyka_teoretyczna/Operatory_r%C3%B3%C5%BCniczkowe]] *[[Fizyka_teoretyczna/Rachunek_tensorowy]] *[[Fizyka_teoretyczna/Rozmaito%C5%9Bci_liniowe_i_ich_w%C5%82a%C5%9Bciwo%C5%9Bci]] *[[Fizyka_teoretyczna/Funkcje_uwik%C5%82ane]] *[[Fizyka_teoretyczna/Kula_zanurzona_w_przestrzeni_n-wymiarowej]] *[[Fizyka_teoretyczna/Zespo%C5%82y_statystyczne_w_fizyce_statystycznej_klasycznej]] *[[Fizyka_teoretyczna/Przestrze%C5%84_liniowa]] *[[Fizyka_teoretyczna/Pola_skalarne_i_wektorowe]] --[[Wikipedysta:Lethern|Lethern]] 20:42, 16 sty 2010 (CET) == po przerwie == Miło Ciebie widzieć po dłuższej przerwie. Sprawdź proszę taką dziwną stronę: [[Wikipedysta:Огірко_Ігор_Васильович]], dziś się pojawiła na Wikibooksach, a wygląda jak kopia z Wikipedii [http://pl.wikipedia.org/wiki/Wikipedysta:Ohirko_Igor Ohirko Igor] a jednocześnie [http://pl.wikipedia.org/wiki/Igor_Ohirko Igor Ohirko], co wydaje się jakimś nonsensem. [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 16:27, 12 lut 2010 (CET) * wyjaśniłem już wszystko w "Zgłaszalni błędów" na Wikipedii. Uznaliśmy, że skoro chodzi o strony użytkownika, to może on sobie tam wklejać co mu się podoba, nawet bezsensowną kopię artykułu o sobie z Wiki. [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 17:11, 12 lut 2010 (CET) == Fizyka == Cały podręcznik do fizyki teoretycznej był reorganizowany, a moduły przenoszone pod nowe adresy. Dotychczasowe dostawały eki i były kasowane. Nie jestem fizykiem i nie wiem, czy moduł ten [http://pl.wikibooks.org/wiki/Fizyka_statystyczna] różni się od tego [http://pl.wikibooks.org/wiki/Fizyka_statystyczna]. Jeśli są to dwa różne tematy, które nie powinny być zintegrowane, to przepraszam. A tak btw - "moduł" piszemy przez "u". [[Wikipedysta:Panterka|Panterka]] 22:09, 14 lut 2010 (CET) == Fizyka teoretyczna == Nie wiem, czy nie przeoczysz tego, więc wkleję link: [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna%2FFizyka_statystyczna%2FCykle_%28obiegi%29_termodynamiczne&action=historysubmit&diff=119150&oldid=114487 fizyka teoretyczna] --[[Wikipedysta:Lethern|Lethern]] 18:44, 16 lut 2010 (CET) Hm, przy rozdzielczości 1400x1050 wygląda trochę dziwnie, ale idzie się przyzwyczaić. Chyba zmiana na plus ; ) --[[Wikipedysta:Lethern|Lethern]] 23:52, 18 lut 2010 (CET) == [[Wikibooks:Strony do usunięcia]] == Witaj! mam prośbę do Ciebie jako admina: zerknij proszę na SdU, zrobiłem tam trochę porządków, zarchiwizowałem nieaktualne wpisy, ale przydałoby się, żebyś wypowiedział się w temacie: # [[Wikibooks:Strony_do_usunięcia#Informatyka_dla_szko.C5.82y_podstawowej.2FGadu-Gadu|Gadu Gadu]] (wg mnie do usunięcia) # [[Wikibooks:Strony_do_usunięcia#Biologia_dla_liceum.2FOrganizmy_najprostsze.2FWirusy|Wirusy]] (kopia z www.sciaga.pl i www.bryk.pl, mimo redakcyjnych poprawek) # [[Wikibooks:Strony_do_usunięcia#Stymulaty|Stymulaty]] (merytoryczna katastrofa, koniecznie do usunięcia) # [[Wikibooks:Strony_do_usunięcia#Tramwaje_w_Krakowie|Tramwaje w Krakowie]] (moim zdaniem do archiwizacji na stronie użytkownika a potem usunięcia. W razie czego chętnie podejmę się archiwizacji tego podręcznika. Będzie z tym co prawda sporo roboty, bo jest tam tych modułów, ale da się zrobić) # [[Wikibooks:Strony_do_usunięcia#Wprowadzenie_do_fizyki_kwantowej|Wprowadzenie do fizyki kwantowej]] (wisi w SdU od dawien dawna i straszy) # [[Wikibooks:Strony_do_usunięcia#Genealogia_Piast.C3.B3w|Genealogia Piastów]] (kompromitujące błędy merytoryczne) # [[Wikibooks:Strony_do_usunięcia#Tatry.2FSzczyty|Tatry]] (moduł nie był kwestionowany w trakcie akcji Sprzątanie Wikibooks, więc dyskusję możnaby ewentualnie uznać za zakończoną i zostawić to tak jak jest). # [[Wikibooks:Strony_do_usunięcia#J.C4.99zyk_.C5.9Bl.C4.85ski|Język śląski]] (dziś to wstawiłem i raczej trzeba należałoby poczekać, aż się Lethern i pozostawli wypowiedzą, co o tym myślą...) i to by było na tyle. Z góry dzięki za pomoc! [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:18, 7 mar 2010 (CET) == Księgozbiór == Jak myślisz, czy dobrym pomysłem byłoby scalenie w księgozbiorze sekcji "Astronomia" i "Fizyka" w jedną "Astronomia i Fizyka"? Podręczniki z tych działów się łączą, a dzięki temu dałoby się trochę odchudzić księgozbiór. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 17:46, 1 kwi 2010 (CEST) * zrobione, przy okazji ułożyłem sekcje alfabetycznie i dodałem tabelki. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:02, 1 kwi 2010 (CEST) == Wykresy == Napisz maila do Kuby Wagnera z Wolnych Podręczników (Kuba.Wagner@wolnepodreczniki.pl), którego znajdziesz na stronie: http://wiki.wolnepodreczniki.pl/Fizyka. Na niemieckich Wikibooks (http://de.wikibooks.org/wiki/Regal:Physik), w sekcji "Fizyka stosowana" (jeśli dobrze tłumaczę) jest coś takiego, jak "Użycie energii atomowej", ale tam nic nie ma. Jeśli chcesz, to mogę rzucić wątek szukania wykresów na niemieckim Wikiwersytecie (http://de.wikiversity.org/wiki/Fachbereich_Physik). Niestety też nie zauważyłem nic o fizyce jądrowej na niemieckich Wikiźródłach (http://de.wikisource.org/wiki/Kategorie:Physik). Z ciekawości zobacz sobie na "Mechanikę kwantową" (chyba, że znów mylę tłumaczenie): http://de.wikibooks.org/wiki/Quantenmechanik. Chyba, że fizyka jądrowa z Commons coś Tobie pomoże (http://commons.wikimedia.org/wiki/Category:Nuclear_physics) razem z odnośnikami z angielskiej Wiki (http://en.wikipedia.org/wiki/Nuclear_physics) i kategoria fizyka jądrowa (http://en.wikibooks.org/wiki/Category:Nuclear_Physics). To wszystko co mi przyszło do głowy. Pozdrawiam w świątecznym nastroju :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:00, 3 kwi 2010 (CEST) == Zgłoszenie co do podręcznika == Zapoznaj się z tym [http://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikipedysty%3AViatoro&action=historysubmit&diff=123773&oldid=123660]. [[Wikipedysta:Viatoro|Viatoro]] ([[Dyskusja Wikipedysty:Viatoro|dyskusja]]) 14:27, 16 kwi 2010 (CEST) :Ależ ja nic nie mówię, tylko zgłaszam co wylądowało w mojej dyskusji :) Robiłem wykład związany z wikibooks i ludzie z innych projektów głównie mnie kojarzą jako osobę kontaktową. [[Wikipedysta:Viatoro|Viatoro]] ([[Dyskusja Wikipedysty:Viatoro|dyskusja]]) 19:32, 16 kwi 2010 (CEST) == fizyk teoretyczna== Moje ostatnie poprawki: [http://pl.wikibooks.org/w/index.php?title=Metody_matematyczne_fizyki/Rachunek_tensorowy&action=historysubmit&diff=124372&oldid=124282 Rachunek_tensorowy]. Poza tym [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna&curid=14032&diff=124370&oldid=124022 strona główna]. Mam nadzieję, że żadnych wadliwych poprawek nie wprowadziłem, jak coś to sprawdź. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:15, 16 kwi 2010 (CEST) == Eki == Witaj :) Widzę, że jesteś aktywny, więc pozwolę sobie mieć prośbę - czy mógłbyś sprzątnąć eki? Bardzo dawno nikt ich nie kasował i całkiem sporo się ich nazbierało. Z góry dzięki i pozdrowienia serdeczne :) [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 17:21, 6 maj 2010 (CEST) == informacja == Uważaj trochę co robisz. Skasowałeś moduł [[Matematyka dla liceum/Trygonometria]], który nie miał (wbrew pozorom) ek, jedynie miał moduł który miał ek, ale on sam nie powinien być skasowany. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 17:03, 22 maj 2010 (CEST) == Szablony: {{s|StronaStart}} i {{s|StronaKoniec}} == Już miałem Ciebie informować, że ktoś o anonimowy grzebał przy stworzonych przez Ciebie szablonach, ale zreflektowałem się, że to przecież Ciebie wylogowało i edytowałeś anonimowo :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:07, 12 cze 2010 (CEST) == ekowanie == Hej :) Wiem, że sprzątałeś eki, ale proszę jeszcze o skasowanie [[Matematyka dla liceum/Funkcje wymierne/Rozwiązywanie równań powiązanych z funkcją homograficzną|tego]] - wyjątkowo paskudny wandalizm, więc im szybciej poleci, tym lepiej :) Z góry dzięki i pozdrawiam serdecznie, [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 20:31, 13 cze 2010 (CEST) == Szczerę podziękowanie == Bardzo dziękuje za posprzątanie kategorii ek. O wiele lepiej teraz to wygląda :). Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 07:59, 1 lip 2010 (CEST) == Prośba == Proszę o przesłanie plików twojego/Pana autorstwa do Wikimedia Commons, gdzie będą w wszelkich projektach Wikimedia. Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 08:05, 1 lip 2010 (CEST) == Ek ciąg dalszy == Można by było posprzątać kategorię? Znalazłem ponad 130 plików, które albo są na Commons, nie są używane lub po prostu są błędne. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 19:35, 1 lip 2010 (CEST) :Dziękuje za posprzątanie. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 09:26, 3 lip 2010 (CEST) == Fizyka teoretyczna == czemu nie, jak coś będę zmieniać, to dam znać. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 13:52, 13 lip 2010 (CEST) Na stronie: http://pl.wikibooks.org/wiki/Metody_matematyczne_fizyki w nagłówku proponuję poprawić styl. Jest: "Jest to teoria o polach wektorowych i skalarnych, na które działamy pewnymi operacjami różniczkowymi." Proponuję zrobić: "... na które oddziałujemy pewnymi operacjami różniczkowymi" lub "na których działamy pewnymi operacjami różniczkowymi". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:49, 14 lip 2010 (CEST) == redirecty == Usuwanie redirectów nie jest potrzebne (wszystkie usunięte strony i tak zostają na serwerze zarchiwizowane), a do tego może narobić problemów. Tak jak już ludzie pisali, jeśli jakaś zewnętrzna strona linkowała, to teraz linkuje do nieistniejącej strony... Podobnie z usuwaniem stron plików, nie wiem czy jest to potrzebne, skoro wszystko na serwerze i tak zostaje. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 19:49, 15 lip 2010 (CEST) * Proszę, przestań nadużywać przenoszeń stron i usuwania --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 02:42, 7 sie 2010 (CEST) == Re:Fizyka teoretyczna == Mogę pomóc, ale jednocześnie informuje iż chwilowo mam dostęp do komputera, a jeszcze dziś wyjeżdżam na wakacje. Jak wrócę 25 lipca zajmę się tym. Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 07:29, 16 lip 2010 (CEST) == [[Metody matematyczne fizyki/Rachunek tensorowy]] == Dokonałeś zmiany *nazywamy obiekt który transformuje się ze zmiennych starych, których ilość wynosi ''m'' na *nazywamy obiekt, który transformuje się ze zmiennych starych, których ilość zmiennych jest ''m'' Cofnąłem tę zmianę, żeby nie było powtórzenia tego samego słowa (ze zmiennych, których ilość zmiennych jest). Nie umiem ocenić ani poprawić poniższych tekstów (i nie wiem, czy są poprawne, może są): *Dla przykładu podamy jak się transformuje tensor o dwóch wskaźnikach, dla dwóch zmiennych zapisanej w konwencji Einsteina. *A transformację tensora z jednych współrzędnych do drugich o dwóch wskaźnikach dla m zmiennych zapisanej w konwencji Einsteina. *Dla przykładu podamy jak się transformuje jako tensor o dwóch wskaźnikach, dla dwóch zmiennych zapisanej w konwencji Einsteina: *A transformację tensora z jednych współrzędnych do drugich o dwóch wskaźnikach dla m zmiennych zapisanej w konwencji Einsteina piszemy: Swoją drogą, zauważyłem że często powtarzasz pewne ważniejsze rzeczy w zdaniu, co czasem owocuje powtórzeniami (jak na początku powyższego wpisu wspomniałem). Mimo wszystko staram się usuwać takie powtórzenia, żeby tekst nie brzmiał jak "Poniżej napiszemy wektory, wzięte ze wzoru abc, które to wektory zapiszemy poniżej". W razie czego jestem otwarty na dyskusję. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 15:33, 16 lip 2010 (CEST) == [[Metody matematyczne fizyki/Działania na wektorach]] == *"W układzie współrzędnych w przestrzeni n-wymiarowej nazywamy n-prostych, zwanych osiami, przecinających się w jednym punkcie, zwanym punktem zerowym, którego współrzędne są równe (0,0,...,0). " To zdanie nie ma sensu. "W układzie nazywamy n prostych, zwanych osiami". Jeśli umiesz, popraw je. Może chodziło o *"W układzie współrzędnych w przestrzeni n-wymiarowej mamy n-prostych, zwanych osiami, przecinających się w jednym punkcie, zwanym punktem zerowym, którego współrzędne są równe (0,0,...,0). " --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 16:13, 16 lip 2010 (CEST) * zmieniłem styl w tym zdaniu, mam nadzieję, że na dobry :-) a czy mogę też dodawać linkido Wikipedii? brakuje mi też wyjaśnienia (proponuję w formie przypisu) co to jest "n-wymiarowa baza kanoniczna", a potem w sekcji "Iloczyn wektorowy" co to jest "układ kartezjański". Pozdr. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:33, 16 lip 2010 (CEST) == Metody matematyczne fizyki/Rachunek tensorowy == * W sekcji "Definicja prostego tensora metrycznego" brakuje mi wyjaśnienia, co to jest "długość infinitezymalna". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 11:50, 17 lip 2010 (CEST) * A widzisz, Ty to wiesz, a ja nie; myślę, że gdybyś wstawiał od czasu do czasu takie krótkie, celne wyjaśnienia w formie przypisów, to mogłoby to wzbogacić podręcznik. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:05, 17 lip 2010 (CEST) * W sekcji "Tensor Riemanna-Christoffela (tensor krzywizny) zdefiniowany przy pomocy tensorów metrycznych" coś brzmi dziwnie: "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy za tensory Christoffela zdefiniowanej wedle wzoru (2.82) i w końcu otrzymujemy wzór zależny tylko od pochodnych cząstkowych tensora metrycznego, co po jego zastosowaniu:" proponuję zmienić: "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy za tensory Christoffela zdefiniowane wedle wzoru (2.82)" <br>albo "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy zamiast tensorów Christoffela zdefiniowanych wedle wzoru (2.82)"<br> i nie wiem, jak jest prawidłowo bo "za" to nie to samo co "zamiast". Zresztą - ta sekcja jest wymiatająca i wymiękłem na niej :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:57, 17 lip 2010 (CEST) == Odp:Fizyka teoretyczna == ;[{{fullurl:Dyskusja_Wikipedysty:Magalia|oldid=133697}}#Fizyka_teoretyczna Odp:Fizyka teoretyczna] Hej :) Oczywiście bardzo chętnie pomogę. W miarę możliwości oczywiście, bo obawiam się, że fizyka mnie odrobinę przeraża, więc może być ciężko ;) Ale oczywiście zrobię co w mojej mocy. Pozdrowienia serdeczne. [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 23:57, 17 lip 2010 (CEST) Cześć, niestety brak czasu nie pozwala mi zaangażować się w prace. Powodzenia --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 11:07, 18 lip 2010 (CEST) * Wydaje mi się, że ewentualna zmiana "na podstawie" na "według" zależy od czyichś preferencji stylistycznych. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:59, 25 lip 2010 (CEST) Dziękuję za zaproszenie, ale obowiązki zawodowo-studenckie uniemożliwiają mi poświęcenie odpowiedniej ilości czasu na ten projekt. Swoją drogą - doskonała robota. Mało tutaj tak ciekawych podręczników na tak wysokim poziomie ;-). Pozdrawiam, --[[Wikipedysta:Kj|Kj]] ([[Dyskusja Wikipedysty:Kj|dyskusja]]) 22:07, 28 lip 2010 (CEST) == Metody_matematyczne_fizyki/Układ_współrzędnych == Wiesz, brakuje mi, w w/w module wyjaśnienia co to takiego jest "Jakobian", o którym jest mowa w sekcji "Jakobian przejścia". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:33, 11 sie 2010 (CEST) * to jakieś czary :-) * bo to czarna magia, a Ty czarodziej jesteś. A tak na poważnie: myślałeś może, żeby dodać do podręcznika krótkie biogramy fizyków, o których wspominasz? * raczej chodziło mi o dodanie do istniejących modułów krótkich biogramów. Jak się uwinę ze swoim podręcznikiem, to wstawię z jeden modelowy biogram i zobaczymy, czy to będzie w porządku, ok? == podręczniki Fizyki teoretycznej == Jak Ci się podoba nowy spis treści? Może taki być? [[Fale]] (łatwiej się poruszać z pierwszego spisu treści w ramce, oraz łatwiej widać poziomy drzewka) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 21:01, 13 sie 2010 (CEST) * Dodałem do wszystkich podręczników nowy spis treści, a także informacje o Bibliografii i Licencji (osobno, w razie czego możesz cofnąć / zmienić). Koordynację też uzupełniłem. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:22, 14 sie 2010 (CEST) * Zastosowałem taką regułę, aby pogrubiać wszystkie linki, które prowadzą do nowych stron (dzięki temu, jeśli ktoś chce otworzyć wszystkie strony, musi kliknąć we wszystkie linki pogrubione). Część z nich jest pogrubiana jako nagłówki, resztę wyróżniłem wewnątrz, np. [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna&action=historysubmit&diff=136572&oldid=136559 tu ]. Natomiast tu ta sama strona miała 2x pogrubienie, więc jedno usunąłem [http://pl.wikibooks.org/w/index.php?title=Elektrodynamika_klasyczna&action=historysubmit&diff=136573&oldid=136560 historia]. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 10:50, 14 sie 2010 (CEST) Nie można przejść obojętnie obok ilości pracy, jaką wkładasz w rozwój podręczników o fizyce i matematyce: [http://pl.wikibooks.org/w/index.php?title=Wikipedysta%3APersino&action=historysubmit&diff=137194&oldid=114782 diff] :) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 23:34, 17 sie 2010 (CEST) == Kategoria:Eksporesowe kasowanko == [[:Kategoria:Ekspresowe kasowanie|Proszę o posprzątanie kategorii]]. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 16:10, 17 sie 2010 (CEST) :Dziękuje! [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 18:49, 17 sie 2010 (CEST) == Fizyka teoretyczna == Witaj! Chwilowo, w związku z innymi zobowiązaniami, niestety nie mogę przyłączyć się do projektu. Ale życzę owocnej pracy i pozdrawiam -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 18:41, 22 sie 2010 (CEST) == Program do grafiki == Niestety na grafice nie znam się. Wydaje mi się, że to jakiś program do edycji grafiki wektorowej, może coś wygooglujesz albo znajdziesz tutaj: [http://pl.wikipedia.org/wiki/Kategoria:Edytory_grafiki_wektorowej], ewentualnie pokaż to i spytaj kogoś znającego się na tym :) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 01:53, 23 sie 2010 (CEST) == [http://pl.wikibooks.org/wiki/Metody_matematyczne_fizyki/Obrót_układu_współrzędnych Obrót układu współrzędnych] == Mam problem z tym zdaniem: "Spróbujmy napisać transformacje obrotu punktu dla przestrzeni dwuwymiarowej odwrotnie ze wskazówkami zegara o kąt α, którego transformacje punktów z układu walcowatego do euklidesowego, którego transformacja współrzędnych układu walcowego na kartezjańskich piszemy wzorami i , to nowe współrzędne powstają, gdy podczas obrotu naszego punktu (x,y) do punktu (x',y'), gdy dokonamy transformacji, które piszemy:" : jest nieco niegramatyczne i nie wiadomo o co, w nim chodzi. Za dużo w nim wyrazów "który / która / które". Czy da się je podzielić na krótsze zdania? [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 03:23, 24 sie 2010 (CEST) == alfabet grecki == Tylko tyle widzę w internecie: [[w:Alfabet_grecki#Alfabet_grecki_w_HTML]] - &Phi; &phi; : Żeby zapisać małe - tzn.? Może użyć jakiegoś tagu zmieniającego wielkość czcionki? Typu < small> albo indeks dolny --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:49, 25 sie 2010 (CEST) Ewentualnie Unicode: [[s:Unicode/Grecki_i_koptyjski]]; [[s:Unicode/Grecki_rozszerzony]] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:53, 25 sie 2010 (CEST) == Metody_matematyczne_fizyki/Funkcje_Greena == [[Metody_matematyczne_fizyki/Funkcje_Greena]] Nie udało mi się rozczytać w pełni: *''Rozwiązaniem równania różniczkowego (20.1) są rozwiązania w postaci pełnych funkcji w stosunku (20.6), która jest sumą rozwiązania jako ostatnio wspomnianego i funkcji , która jest iloczynem operatora \hat{O}\;, i funkcji \psi(\underline{x})\;, którego jako całość jest równa zero, co na podstawie tychże rozważań całkowitą nasze rozwiązanie naszego równania różniczkowego jest'' *''W wyrażeniu całkowym (20.7), funkcja \psi_0(x)\; występuje funkcja, która jest rozwiązaniem równania jednorodnego własnego operatora \hat{O}\;, którego przepis'' Zobacz czy inne poprawki są ok --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 01:45, 25 sie 2010 (CEST) * Musze przyznać, że nie bardzo orientuje się we własnościach intelektualnych. Może spróbuj wygooglować, albo na Wikipedii spytać? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:53, 29 sie 2010 (CEST) == prośba do administratora == Czy mógłbyś: *usunąć stronę [http://pl.wikibooks.org/w/index.php?title=Dinozaury/Ceratopsy&redirect=no] *usunąć stronę [http://pl.wikibooks.org/w/index.php?title=Wikipedysta:Michczu&redirect=no] Potrzebne to jest, żeby cofnąć przeniesienie stron --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 15:31, 31 sie 2010 (CEST) == Wzory == Wg tego artykułu [http://meta.wikimedia.org/wiki/Help:Displaying_a_formula#Relations] jest to \ll i \gg (<math>\ll i \gg</math>) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 03:09, 5 wrz 2010 (CEST) <del>Wg np. tej strony [http://barzilai.org/math_sym.htm] nie ma takiego symbolu w HTML --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]). 18:33, 5 wrz 2010 (CEST)</del> Zrobiłem [[Wikipedysta:Lethern/Test|tablice symboli html]], interesujące jest: 187: &#187; oraz 171: &#171; (& #187; i & #171;) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:45, 5 wrz 2010 (CEST) == ws. wykresu == wiesz, nigdy nie robiłem wykresów, więc mogę mieć z tym problem :-( z ciekawością natomiast zaglądam do [[Fizyka teoretyczna/Koordynacja]] i ciągle pamiętam o moim pomyśle dodawania biogramów fizyków. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 01:28, 6 wrz 2010 (CEST) == Prośba == Hej :) Zintegrowałam treść stron [[Książka kucharska/Ciasto naleśnikowe]] i [[Książka kucharska/Naleśniki]]. Czy mógłbyś połączyć historię tych modułów? Ale nie kasuj potem ciasta naleśnikowego - niech zostanie jako redirect, ok? Z góry dzięki i pozdrawiam serdecznie :) [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 22:08, 8 wrz 2010 (CEST) == QuickEdit == Przejrzałem [[w:Wikipedia:Kawiarenka/Kwestie_techniczne|Tę stronę]] przy pomocy przeglądarkowej Szukaj "QuickEdit", i na szybko znalazłem, że może być temu winna skórka Vector (można ją w preferencjach wyłączyć), ale może znajdziesz w tym wątku więcej informacji (dodatkowo jest na niemieckiej wersji QuickEdit [http://de.wikipedia.org/wiki/Benutzer_Diskussion:ASM ta strona], piszą tam po angielsku) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:58, 11 wrz 2010 (CEST) == Fizyka teoretyczna ponownie == Rozumiem, że liczy się dla Ciebie opinia innych, aby pisać jeszcze lepiej i zrozumialej podręczniki. Też tak miałem, gdy pisałem swoje teksty do podręczników dla liceum. Do oceny dobre by były osoby, które próbowały by się nauczyć czytając te moduły. Ja czytałem podręcznik tylko w celu poprawienia zdań, więc nie zastanawiałem się, czy wszystko rozumiem, no i przeczytałem tylko mały kawałek całego materiału. Możesz spróbować uderzyć z propozycją gdzieś do ludzi. Takich, którzy albo a) zapoznają się z częścią, którą poprawialiśmy lub b) będą w stanie czytać podręczniki niepoprawiane. Gdyby udało się kogoś znaleźć, miałbyś pewnie dobrą ocenę, a komentarze i uwagi przydałyby się dodatkowo też mnie i Karolusowi, co byśmy również mogli poprawiać moduły. Gdzie kogoś takiego znaleźć? Może na Wikipedii, na jakimś forum matematycznym (fizycznym), na uczelni ogłoszenie możesz dać.. Problem jest właśnie z językiem, nie zdążyliśmy poprawić więcej jak 5% modułów, więc może to pewną grupę ludzi odstraszać, w przyszłości będzie łatwiej o czytelników. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 09:40, 12 wrz 2010 (CEST) * Moim zdaniem Twój podręcznik jest pisany przystępnym językiem naukowym, ponieważ masz rzadką umiejętność płynnego przechodzenia w opisach od jednego wzoru do następnego. Dzięki czemu Twój wykład jest logiczny. Budujesz logiczną i przejrzystą strukturę podręcznika. Prowadzisz czytelnika od wzorów prostych do rozbudowanych. Ponadto każdy moduł zamykasz ostatecznym wzorem, który jest ładną puentą tekstu. Dzięki temu każdy podrozdział tworzy zamkniętą całość. Jest to przydatne dla kogoś, kto chce nauczyć się określonego wycinka Fizyki teoretycznej. Jedyne, co można by było dopracować od strony literackiej, to kwestie gramatyki i stylu. Czasem też sygnalizowałem Tobie konieczność wyjaśnienia pewnych terminów, które dla fizyków są oczywiste, jednak objaśnienie ich w formie przypisów nikomu by nie zaszkodziło. Jednakże to możesz sobie zostawić na koniec, gdy już napiszesz wszystkie moduły. Radziłbym wtedy wziąć wiki-urlop (minimum tydzień), wrócić do komputera i przejrzeć na nowo cały tekst. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 15:15, 12 wrz 2010 (CEST) == Format svg i Openoffice draw == Kilka linków: [http://komputery.wip.pl/excel-i-aplikacje-biurowe/rozszerzenie-mozliwosci-openofficeorg-o-obsluge-formatu-svg,95,264155,0,195194,0.html], [http://haumacher.de/svg-import/], linki z [http://wiki.services.openoffice.org/wiki/SVG_Import_Filter#External_implementation] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 10:58, 19 wrz 2010 (CEST) == [[Szablon:StronaKoniec]] == Odnośnie tej edycji: [http://pl.wikibooks.org/w/index.php?title=Szablon%3AStronaKoniec&action=historysubmit&diff=136567&oldid=121717], czy jest ona konieczna? Są utworzone dwie tabelki "spis treści", dwa razy jest wyraz "pokaż/ukryj", i trzeba specjalnie kliknąć, aby ten spis był widoczny. Chyba, że to ukrycie było zamierzone. Może w takim razie zrobić dodatkowy argument w szablonie, który pozwala wybrać, czy spis treści ma być normalnie, czy w zwiniętej tabelce, co by pogodziło oba sposoby, bo można sobie wybrać? Jak Ty to widzisz? Pozdrawiam --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 16:47, 19 wrz 2010 (CEST) * [http://pl.wikibooks.org/w/index.php?title=Szablon%3AStronaKoniec&action=historysubmit&diff=141163&oldid=136567] wydaje mi się, że to było lepsze. Jeśli czegoś brakuje dla Ciebie, to można próbować dodać wersję zwykłą i alternatywę --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:51, 19 wrz 2010 (CEST) * Szukałem, ale nic nie znalazłem, jak zrobić aby mogło to być domyślnie ukryte. Nie wiem, co z tym zrobić, dodać parametr, żeby obie wersje były dostępne (z tabelką ukrywającą, jak wcześniej, i bez tabelki)? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:14, 19 wrz 2010 (CEST) ==Przeniesienia artykułów z historią autorów== Zerknij na stronę [[Wikibooks:Import stron]] -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:51, 24 wrz 2010 (CEST) == Poprawianie rysunków == Przykro mi, nie znam się na tym ani trochę :-( [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:19, 24 wrz 2010 (CEST) * pomyślę, a koło niedzieli popytam ludzi działających na Commonsach. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:33, 24 wrz 2010 (CEST) * dałem wczoraj informację o Twojej propozycji poprawiania rysunków na Tablicy ogłoszeń Wikipedii. Myślę, że tak szybciej znajdą się osoby potrafiące to robić. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 07:28, 28 wrz 2010 (CEST) :: Hej. :) O jakie konkretnie działania chodzi? Mogę pomóc w przerabianiu wykresów do SVG w Inkscape. -- [[Wikipedysta:CLI|CLI]] ([[Dyskusja Wikipedysty:CLI|dyskusja]]) 09:44, 29 wrz 2010 (CEST) :Zerknij [http://www.elisanet.fi/~d635415/webroot/Octavesvg/index.html tutaj] - to jest program do wykonywania SVG bezpośrednio z kodu Matlaba/Octave. Jak znajdą się chętni to możesz im polecić to narzędzi - lepiej kreślić funkcje przez matlaba niż w "Paintowy" sposób w InkScape. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:45, 29 wrz 2010 (CEST) :Konwersji można dokonywać albo w GdkPixbuf albo InkScape - ręcznie lub automatem przez otwarcie grafiki PNG i jej wektoryzację (funkcja programu "wektoryzuj bitmapę") i następnie zapis do pliku SVG - tylko automaty różnie mogą się zachowywać przy cienkich liniach czy wykresach - trzeba eksperymentować, lub ponoć (nie testowałem tego sposobu) po otwarciu PNG i jego wyeksportowaniu do SVG (ale podejrzewam ze to będzie SVG ale nadal z osadzoną grafiką rastrową. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 01:32, 2 paź 2010 (CEST) == Księgozbiór == Mam trochę wątpliwości: "Fizyka teoretyczna" i " Metody numeryczne fizyki" powinny być w tabelce "Niedokończone podręczniki". Streszczenia bym poprawił pod kątem stylu; czyli np. przy "Szczególnej teoria względności" zamiast: "Jest to dział fizyki zajmujących się przede wszystkim ruchem ciał poruszających się z prędkościami porównywalnymi z prędkością światła w próżni", to: "Podręcznik opisuje szczególną teorię względności, czyli dział fizyki zajmujący się przede wszystkim ruchem ciał poruszających się z prędkościami porównywalnymi z prędkością światła w próżni". Spróbuję siąść do tego na tygodniu przed urlopem. No i brakuje obrazków. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:22, 26 wrz 2010 (CEST) * Zerknij na poprawki: [[Wikibooks:Księgozbiór#Nauki_ścisłe_i_przyrodnicze]]. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 08:03, 28 wrz 2010 (CEST) == Metoda kolejnych poprawek trójmianu kwadratowego - metoda Bairstowa == Hej - nie znam tej metody i tylko "na szybko" rzuciłem okiem na 2 pierwsze równania i nie jestem pewien czy dobrze widzę - ale, przyjmując (3.95) za słuszne, już w 2 linijce wzoru (3.96) masz błąd przy wymnażaniu składnika <math>q_i</math> z nawiasem <MATH>(b_0z^{n-2}+b_1z^{n-3}+...+b_{n-1})</MATH>. Wyciągasz <math>z</math> przed nawias, ale nie degradujesz potęgi w wyrażeniu pod nawiasem więc zamiast wyrażenia: <MATH>zq_i(b_0z^{n-3}+b_1z^{n-4}+...+b_{n-2})</MATH> otrzymałeś <math>zq_i(b_0z^{n-2}+b_1z^{n-3}+...+b_{n-2})</math>. Następnie grupujesz je według Twojego obliczenia. Sprawdź czy to pojawienie się znikąd tego jednego 'zeta' nie było przyczyną problemu i innego wyniku. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:51, 30 wrz 2010 (CEST) == Mechanika kwantowa == Witaj! Znalazłem pominiętą stronę podręcznika: [[Mechanika_kwantowa/Funkcje_i_równania_falowe/Równanie_Kleina-Gordona]]. Czy będzie przydatna jeszcze? Jeśli nie wstaw szablon EK. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:54, 3 paź 2010 (CEST) == Porzucone grafiki == Czy [[:Plik:Schemat_blokowy_licznika_z_komorą_jonizacyjna.png]] oraz [[:Plik:Czynnik Debye'a-Wallera.png]] będą jeszcze potrzebne - czy można je usunąć? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 16:58, 4 paź 2010 (CEST) == Prośba == Czy możesz usunąć stronę (przekierowanie) [http://pl.wikibooks.org/w/index.php?title=Lo%C5%BCban/Wymowa&redirect=no]? Z góry dzięki --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 14:42, 7 paź 2010 (CEST) == Licencja == W swoich książkach umieściłeś wzmiankę o licencji GNU. Jednak brzmi to trochę tak, jakby materiał był oparty tylko na licencji GNU, a jednak wszystko co jest na Wikibooks jest także oparte na licencji CC. Czyli Twoje teksty są na dwóch licencjach, jednej dodanej przez Ciebie jako autora i drugiej wynikającej z projektu. I czytelnik może wybrać sobie dowolną z tych dwóch. Choć tekst akapitu "licencja" brzmi trochę tak, jakby tego wyboru nie było i obowiązywała tylko GNU. Może by tak dodać wzmiankę o CC? ([[Wikibooks:Bar#Licencje_i_ok.C5.82adki|w barze]] trochę więcej wyjaśnień o 2 licencjach) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 22:19, 12 paź 2010 (CEST) == Re: Fizyka teoretyczna == Z wielką chęcią, choć jak widać na dacie twojego wątku na mojej dyskusji i tego widać że mam mało czasu, przyłączam się jeśli to aktualne, ale nie licz na systematycznośc! :) [[Wikipedysta:Jantoś|Jantoś]] ([[Dyskusja Wikipedysty:Jantoś|dyskusja]]) 17:57, 27 paź 2010 (CEST) : Czy to jest ok? [http://pl.wikibooks.org/w/index.php?title=Elektrodynamika_klasyczna%2FR%C3%B3%C5%BCniczkowe_i_ca%C5%82kowe_prawa_dla_elektrostatyki&action=historysubmit&diff=147299&oldid=135512] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:16, 26 lis 2010 (CET) * Pośpiesznie wycofałem tę [http://pl.wikibooks.org/w/index.php?title=Metody_numeryczne_fizyki/Ca%C5%82kowanie_numeryczne_funkcji_interpolacyjnej&diff=next&oldid=147376 edycję], ale gdybyś mógł sprawdzić czy jej ewentualnie nie zostawić.. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 14:15, 27 lis 2010 (CET) == awaria? == Persino wejdź natychmiast na [[Wikibooks:Bar]] i [[Pomoc:Spis treści]]. Wszędzie wyświetla mi się moduł, który właśnie edytujesz. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:40, 25 gru 2010 (CET) anulowałem swoje edycje, musiał wystąpić jakiś dziwny błąd systemu i przy dużej Twojej edycji nałożyła się ona na moje trzy drobne edycje, przywróciłem (mam nadzieję) już to do ładu. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:49, 25 gru 2010 (CET) == eki i blokady == wczorajsza awaria już się wyjaśniła. Lethern wziął świąteczny urlop, więc jakbyś miał chwilę, to usuń ek-i oraz odblokuj mi tą stronę: [[Wikibooks:O Wikibooks]]. Pracuję nad stronami pomocy i bardzo mi to ułatwi życie. Z góry dzięki [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:19, 26 gru 2010 (CET) == kolejne ek-i == wstawiłem eki-i w starych, nieużywanych i niepotrzebnych szablonach; czy mógłbyś je pousuwać, jak znajdziesz chwilę czasu? [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 09:16, 5 sty 2011 (CET) P.S. do usunięcia są jeszcze nieużywane pliki * http://pl.wikibooks.org/wiki/Plik:Żarówka.png * http://pl.wikibooks.org/wiki/Plik:Zwrot_kosztow_szkolen_niepelnosprawnych_2010.jpg * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_2.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_2.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_3.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_4.png P.S. nr 2: i zbędne kategorie: * http://pl.wikibooks.org/wiki/Kategoria:Strony_z_błędami_ortograficznymi * http://pl.wikibooks.org/wiki/Kategoria:Strony,_w_których_przekroczone_jest_ograniczenie_wielkości_użytych_szablonów * http://pl.wikibooks.org/wiki/Kategoria:Grafika_Wikimedia * http://pl.wikibooks.org/wiki/Kategoria:Strony_indeksowane a koniecznie trzeba mi odblokować te strony: * [[MediaWiki:Recentchangestext]] * [[Szablon:Recentchanges]] == c.d. pracy nad meta-stronami == hej! usuniesz mi ek-i oraz odblokujesz: [[Szablon:WM/Regulamin]]? z góry dzięki. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 10:43, 17 sty 2011 (CET) == Talkback == Hello Mirosław, you have an unanswered question at [[Commons:User talk:Persino#your_badname_request]]. &nbsp; — <font size="4">[[w:en:User:Jeff G.|Jeff]] [[w:en:User:Jeff G./talk|G. ツ]]</font> 16:32, 30 sty 2011 (CET) == FUW == Zerknij: [http://brain.fuw.edu.pl/edu/Strona_g%C5%82%C3%B3wna na cc-by-sa 3.0]. Może by się przydało? Tylko zassać i podać autorów. [[Wikipedysta:Przykuta|Przykuta]] ([[Dyskusja Wikipedysty:Przykuta|dyskusja]]) 15:49, 12 lut 2011 (CET) == Przeniesienie szablonu Podręcznik == Witaj, trzeba cofnąć Twoje zmiany, bo nie przenieść tego szablonu w miejsce Szablon:StronaStart, ponieważ z tego szablonu korzysta sporo modułów (razem z Pomocą Wikibooks), a nie korzystają one z szablonu Podręcznik. Zrevertowałem [http://pl.wikibooks.org/w/index.php?title=Szablon:StronaStart&curid=19820&diff=169244&oldid=159391 zmiane StronaStart], ale wszystkie Twoje zmiany w podręczniku trzeba by też wycofać (usuwające szablon Podręcznik)... Sam pomysł zmieniania tak dużej ilości modułów bez użycia bota jest kiepski, może lepiej poprosić operatora Bota żeby się tym zajął? Miało już miejsce takie masowe zmienianie przez AlohaBOT ([http://pl.wikibooks.org/w/index.php?title=Mechanika_teoretyczna/Uk%C5%82ad_cia%C5%82_ograniczonych_wi%C4%99zami&diff=prev&oldid=166738 przykład]). Choć można spróbować poprawić szablon, żeby pasował do nowej wersji podręcznikow matematycznych, jak i do innych modułów w których jest użyty. Co o tym sądzisz? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 17:55, 10 wrz 2011 (CEST) == Witaj po przerwie == Czołem Persino! miło Ciebie wiedzieć po długiej przerwie :) [[Wikipedysta:Karol Karolus|Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 09:31, 11 wrz 2011 (CEST) == Poradnik Hackhing == Witaj. Widzę że jesteś akurat Online, więc pisze do Ciebie. Znalazłem na wikia projekt informatyki i na stronie głównej coś tam wyczaiłem no i znalazłem [http://informatyka.wikia.com/wiki/Poradnik:Hacking to]. Jak widać, poradnik ten ma na celu przedstawienie zagrożeń ze strony internetu oraz zapobieganie im. (jak można wyczytać) Nie wiem jeszcze jaką ma licencje, ale skoro jest na wiki to musi być wolna. Związku z tym pytanie: Czy może być opublikowane na Wikibooks? Pozdrawiam --[[Wikipedysta:Kompowiec2|Marek H.]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 18:57, 24 wrz 2011 (CEST) == szablony StronaStart i StronaStart == Persino, sprawdź proszę, czy w/w szablony działają poprawnie, po ostatnich zmianach przestały pełnić swoją funkcję, zamiast być umiejscowione z boku strony porządkując ją, to wskakują na górę psując wygląd modułów. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 10:54, 23 paź 2011 (CEST) * dlatego, że po pierwsze nie było dobrze, bo było źle; a po drugie, bo lekceważysz sobie użytkowników tych szablonów: [[Wikibooks:Bar#szablony_StronaStart_i_StronaStart]]. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 23:15, 8 lis 2011 (CET) Hej, chciałem założyć temat, ale widzę, że już na mnie czeka :). Jestem świeżo na wikibooks i od razu rzucił mi się na oczy szablon {{s|StronaStart}}. Powiedzmy, że rozumiem koncept tego szablonu, ale: # U mnie nie działa: [http://awesomescreenshot.com/0e91ikc1c]. Wygląda to strasznie, nie mówiąc o zaśmiecaniu kodu :/ # Taki sam efekt, a nawet lepszy można uzyskać modyfikując swój plik .css użytkownika, już wrzucałem Karolusowi przykłady kodu zrobionego przeze mnie może w pół godziny, a dające przynajmniej możliwość osobom, które nie chcą menu na górze i wielkiej czcionki możliwość czytania domyślnie sformatowanego tekstu. [http://awesomescreenshot.com/0811fe0c8][http://awesomescreenshot.com/0411fe142] [[user:Yarl|Yarl]] [[user talk:Yarl|✉]] 19:49, 13 mar 2012 (CET) == układy pseudoskalarne == Cześć, Persino! Piszesz o trudnych sprawach, ale niezwykle ciekawych, więc zajrzałam. Niestety jest to powyżej moich możliwości (wolę poziom Świata Nauki), a poza tym rzucił mi się w oczy „kwiatek”, który bardzo szpecił piękną całość :( W kilku miejscach poprawiłam [[Wstęp do fizyki cząstek elementarnych/Wprowadzenie do teorii kwarków i układów kwarkowych (hadrony)#Mezony lekkie jako układy pseudoskalarne|tutaj]] , ale to chyba nie wszystko (np. nazwa ilustracji w Commons). Pozdrawiam Cię serdecznie --[[Wikipedysta:Joanna Kośmider|Joanna Kośmider]] ([[Dyskusja wikipedysty:Joanna Kośmider|dyskusja]]) 12:53, 22 kwi 2012 (CEST) == szablon treść == magiku od wiki-kodu, dasz radę tak ustawić parametry, żeby szablon zmieniał się co 3 dni? jest na tyle dużo polecanych książek, że akurat wtedy się tak wycyrkluje, że dana treść pojawi się raz w miesiącu. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 22:04, 2 lip 2013 (CEST) == interpolacja == Cześć. Dzięki za metody numeryczne fizyku. Ja szukałem funkcji przechodzącej przez dane punkty i znalazłem : http://zunzun.com/ Może cię zainteresuje. Szukam też pomocy w [[en:Fractals/Iterations_in_the_complex_plane/parabolic|dynamice parabolicznej]]. Jeśli jesteś zainteresowany to daj znać. Pozdrawiam. [[Wikipedysta:Adam majewski|Adam majewski]] ([[Dyskusja wikipedysty:Adam majewski|dyskusja]]) 21:39, 10 lut 2014 (CET) == {{int:right-upload}}, [[commons:Special:MyLanguage/Commons:Upload Wizard|{{int:uploadwizard}}]]? == [[Image:Commons-logo.svg|right|100px|alt=Wikimedia Commons logo]] Hello! Sorry for writing in English. As you're an administrator here, please check the message I left on [[MediaWiki talk:Licenses]] and the village pump. Thanks, [[m:User:Nemo_bis|Nemo]] 21:22, 18 wrz 2014 (CEST) <!-- Message sent by User:Nemo bis@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User_talk:Nemo_bis/Unused_local_uploads&oldid=9923284 --> == [[:Kategoria:Ekspresowe kasowanie]] == Cześć, wyczyściłbyś tą kategorię? Trochę się w niej nazbierało. [[Wikipedysta:Runab|Runab]] ([[Dyskusja wikipedysty:Runab|dyskusja]]) 18:17, 25 paź 2014 (CEST) == Odpowiadając == nie wiem, ale sądzę, że nie ma. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 16:02, 12 cze 2015 (CEST) == Bots == <div class="mw-content-ltr"> I apologize for sending this message in English. You are receiving this message because a technical change may affect a bot, gadget, or user script you have been using. The breaking change involves API calls. This change has been planned for two years. The WMF will start making this change on '''30 June 2015'''. A partial list of affected bots can be seen here: https://lists.wikimedia.org/pipermail/wikitech-l/2015-June/081931.html This includes all bots that are using pywikibot compat. Some of these bots have already been fixed. However, if you write user scripts or operate a bot that uses the [[:mw:API|API]], then you should check your code, to make sure that it will not break. What, exactly, is breaking? The "default continuation mode" for action=query requests to api.php will be changing to be easier for new coders to use correctly. To find out whether your script or bot may be affected, then search the source code (including any frameworks or libraries) for the string "query-continue". If that is not present, then the script or bot is ''not'' affected. In a few cases, the code will be present but not used. In that case, the script or bot will continue working. This change will be part of 1.26wmf12. It will be deployed to test wikis (including mediawiki.org) on 30 June, to non-Wikipedias (such as Wiktionary) on 1 July, and to all Wikipedias on 2 July 2015. If your bot or script is receiving the warning about this upcoming change (as seen at https://www.mediawiki.org/w/api.php?action=query&list=allpages ), it's time to fix your code! * The simple solution is to simply include the "rawcontinue" parameter with your request to continue receiving the raw continuation data (example <https://www.mediawiki.org/w/api.php?action=query&list=allpages&rawcontinue=1>). No other code changes should be necessary. * Or you could update your code to use the simplified continuation documented at https://www.mediawiki.org/wiki/API:Query#Continuing_queries (example <https://www.mediawiki.org/w/api.php?action=query&list=allpages&continue=>), which is much easier for clients to implement correctly. Either of the above solutions may be tested immediately, you'll know it works because you stop seeing the warning. Do you need help with your own bot or script? Ask questions in e-mail on the [[mail:mediawiki-api|mediawiki-api]] or [[mail:wikitech-l|wikitech-l]] mailing lists. Volunteers at [[:m:Tech]] or [[:w:en:WP:Village pump (technical)]] or [[:w:en:Wikipedia:Bot owners' noticeboard]] may also be able to help you. Are you using someone else's gadgets or user scripts? Most scripts are not affected. To find out if a script you use needs to be updated, then post a note at the discussion page for the gadget or the talk page of the user who originally made the script. [[:w:en:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[:w:en:User talk:Whatamidoing (WMF)#top|talk]]) 21:03, 17 cze 2015 (CEST) </div> <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:Whatamidoing_(WMF)/Sandbox&oldid=12455250 --> == tryb życia == Jakie przepisy masz na myśli? --[[Wikipedysta:Pedros.lol|Pedros.lol]] ([[Dyskusja wikipedysty:Pedros.lol|dyskusja]]) 18:54, 9 paź 2015 (CEST) :Jeżeli chodzi Ci o przypisy, to kopiowałem cytowania z Google Scholar, MLA --[[Wikipedysta:Pedros.lol|Pedros.lol]] ([[Dyskusja wikipedysty:Pedros.lol|dyskusja]]) 19:02, 9 paź 2015 (CEST) == [[s:Kategoria:Tablice matematyczne|Tablice matematyczne]] i [[s:Kategoria:Kody źródłowe|kody źródłowe]] z Wikiźródeł == Witaj! W Wikiźródłach mamy problem wyżej wymienionymi kategoriami. Są to przeważnie dawno umieszczone teksty (z lat ok. 2005–2007), które nie pasują do obecnej polityki publikacji projektu (teraz staramy się umieszczać teksty, które można zweryfikować na podstawie skanów). Zamierzam zgłosić je do usunięcia. Do Ciebie jako użytkownika zajmującego się fizyką komputerową i fizyką teoretyczną mam pytanie: czy tego typu tablice lub kody źródłowe mogłyby znaleźć miejsce w projekcie Wikibooks? Pierwszy z brzegu przykład do rozważenia: [[s:Tablica kwadratów|Tablica kwadratów]], [[s:Tablica kwadratów/kod|Tablica kwadratów/kod]] i [[s:Tablica sześcianów|Tablica sześcianów]]. Czy Twoim zdaniem jakąkolwiek wartość edukacyjną mają: * same te tablice? * kod źródłowy zastosowany do ich wygenerowania? * zamieszczone na dole stron przykłady użycia (odczytywanie dokładnych wyników, interpolacja oraz ekstrapolacja poza zakres uwzględniony w tablicy)? Czy uważasz, że można/warto umieścić je w Wikibooks jako * nowy samodzielny podręcznik [[Tablice matematyczne]]? * aneksy do któregoś z istniejących podręczników do matematyki? * kody źródłowe — w ogólnym podręczniku [[Programowanie]] lub w podręcznikach do konkretnych języków programowania? I ostatnie pytanie: czy do przeniesienia tych materiałów na Wikibooks potrzeba znaleźć osobę z uprawnieniami do importu stron, czy można je skopiować ręcznie, podając źródło w opisie zmian? Z kodami źródłowymi może być trudniej, ale tablice matematyczne raczej nie stanowią utworu w rozumieniu prawa autorskiego... Pozdrawiam, [[Wikipedysta:Ashaio|Ashaio]] ([[Dyskusja wikipedysty:Ashaio|dyskusja]]) 13:58, 26 lut 2016 (CET) == Re: Kasowanie okładek i normalnych stron == IPki które niby kasowały i wstawiały ek to też moja robota - naprawdę sądzisz że IPki wykonywałyby operacje porządkowe? ;) Jest to wynik dawnej dyskusji w której ustalono by skasować wszystkie okładki - gdzieś jest w archiwum baru, pod stertą mułu, poszukam w miarę możliwosci żeby nie było że zmyślam [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:54, 8 paź 2016 (CEST) * Znalazłem, bardzo proszę: [https://pl.wikibooks.org/wiki/Wikibooks:Bar/Archiwum11#problem_ok.C5.82adek Bar] [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 14:04, 8 paź 2016 (CEST) * Czemu przywracasz okładki? Znasz jakieś zastosowanie dla okładek? [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 10:09, 21 lis 2016 (CET) Hej, sądzę że okładki mogą zostać dla podręczników, dla których autor sobie życzy okładki, a co do wszystkich pozostałych podręczników (i ich okładek), to powinno być jakieś wspólne ustalenie (nie wiem czy coś się do tej pory zmieniło, ostatnio faktycznie była rezygnacja z okładek). Myślę że nie trzeba narzucać jednego rozwiązania na wszystkie przypadki, tak jak nawigacja: jest w niektórych książkach, a w niektórych nie ma, w zależności czy autor chciał czy nie --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 15:36, 22 lis 2016 (CET) * Rozumiem. W takim razie ja usuwam ze swoich (bo i też moich książek dotyczyły rewerty) [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:02, 25 lis 2016 (CET) "A to wszystko można zrobić za pomocą języka Lua, tak jak ja zrobiłem spis treści za pomocą szablonu <nowiki>{{SpisTreści}}</nowiki> i automatyczne numeracje wzorów matematycznych!" - coraz częściej słyszę o tym języku jako recepta na wiele dupereli, chyba się w końcu nim zainteresuję ;) tylko jak miałbym taki skrypt uruchomić na wikibooksach? na jakiejś własnej stronie użytkownika, czy inaczej? [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:08, 25 lis 2016 (CET) == Share your experience and feedback as a Wikimedian in this global survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! Wikimedia Foundation prosi Cię o wyrażenie opinii w ankiecie. Chcemy wiedzieć jak dobrze wspomagamy Twoją pracę na i poza wiki oraz jak możemy zmienić lub ulepszyć różne kwestie w przyszłości.<ref group=survey>Ta ankieta dotyczy głównie opinii na temat bieżących prac Wikimedia Foundation, nie długoterminowej strategii.</ref> Opinie, którymi się podzielisz, bezpośrednio wpłyną na obecne i przyszłe prace Wikimedia Foundation. Zostałeś losowo wybrany do wzięcia udziału w tej ankiecie, tak, jak chcielibyśmy wysłuchać Twojej społeczności Wikimedia. Aby podziękować Ci za Twój poświęcony czas, rozdamy 20 T-shirtów Wikimedia do losowych uczestników tego badania.<ref group=survey>Kwestie prawne: Nie jest konieczne dokonanie zakupu. Trzeba być pełnoletnim aby uczestniczyć. Sponsorowane przez Wikimedia Foundation, zlokalizowana w 149 New Montgomery, San Francisco, CA, USA, 94105. Koniec 31 stycznia 2017. Nie obowiązuje gdzie zakazano. [[m:Community Engagement Insights/2016 contest rules|Kliknij aby zobaczyć regulamin konkursu]].</ref> Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. <big>'''[https://wikimedia.qualtrics.com/SE/?SID=SV_6mTVlPf6O06r3mt&Aud=VAE&Src=57VAEOP Weź udział w ankiecie teraz!]'''</big> Możesz dowiedzieć się więcej na temat [[m:Community_Engagement_Insights/About_CE_Insights|tego projektu]]. Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2016_Survey_Privacy_Statement|temu oświadczeniu prywatności]]. Odwiedź naszą [[m:Community_Engagement_Insights/Frequently_asked_questions|stronę z najczęściej zadawanymi pytaniami]], aby znaleźć więcej informacji na temat tego badania. Jeżeli potrzebujesz dodatkowej pomocy lub chcesz wypisać się z przyszłych prób komunikacji, wyślij e-mail na surveys@wikimedia.org. Dziękujemy! --[[:m:User:EGalvez (WMF)|EGalvez (WMF)]] ([[:m:User talk:EGalvez (WMF)|talk]]) 23:25, 13 sty 2017 (CET) </div> <!-- Wiadomość wysłana przez User:EGalvez (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2016/57-VAEOP&oldid=16205400 --> <references group=survey /> == Działania administracyjne == Cześć, mógłbyś zajrzeć do SdU i EK? Jesteś jedynym obecnie aktywnym tu administratorem, a sprawa SdU wygląda wręcz, jakbyś to ignorował. <span style="font-weight:bold;">[[Wikipedysta:Kabexxxior|KABEXXX<span style="color:silver;">IOR </span>]]</span> ≡ <span style="text-decoration:none;margin-right:10px;">[[Dyskusja_wikipedysty:Kabexxxior|DYSKUSJA]] </span> 01:46, 3 lut 2017 (CET) == Ek == * Czasem zdarza się że zapomnę się zalogować i edytuje z IPka. W sumie jak się zajrzy w historie to po ekowaniu zalogowałem się i połączyłem arty. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 09:20, 5 wrz 2017 (CEST) == Share your experience and feedback as a Wikimedian in this global survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! Wikimedia Foundation prosi Cię o wyrażenie opinii w ankiecie. Chcemy wiedzieć jak dobrze wspomagamy Twoją pracę na i poza wiki oraz jak możemy zmienić lub ulepszyć różne kwestie w przyszłości. Opinie, którymi się podzielisz, bezpośrednio wpłyną na obecne i przyszłe prace Wikimedia Foundation. Zostałeś losowo wybrany do wzięcia udziału w tej ankiecie, tak, jak chcielibyśmy wysłuchać Twojej społeczności Wikimedia. Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. <big>'''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie teraz!]'''</big> Możesz dowiedzieć się więcej na temat tej ankiety [[m:Special:MyLanguage/Community_Engagement_Insights/About_CE_Insights|na stronie projektu]]. Zobacz jak Twoje zdanie pomaga Wikimedia Foundation wspierać edytujących takich jak Ty. Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu prywatności]] (po angielsku). Odwiedź naszą [[m:Special:MyLanguage/Community_Engagement_Insights/Frequently_asked_questions|stronę z najczęściej zadawanymi pytaniami]], aby znaleźć więcej informacji na temat tego badania. Jeżeli potrzebujesz dodatkowej pomocy lub chcesz wypisać się z przyszłych prób komunikacji, wyślij e-mail poprzez funkcję wysyłania e-maili do użytkownika, do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]], aby usunął Cię z listy. Dziękujemy! </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 20:36, 29 mar 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17881402 --> == Reminder: Share your feedback in this Wikimedia survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Każda odpowiedź w tej ankiecie może pomóc Wikimedia Foundation ulepszyć Twoje doświadczenia w projektach Wikimedia. Jak dotąd wysłuchaliśmy 29% współautorów projektów Wikimedia. Ankieta jest dostępna w różnych językach i jej wypełnienie może zająć od 20 do 40 minut. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie.]''' Jeżeli już wypełniłeś tę ankietę, z góry przepraszamy za to przypomnienie. Tę ankietę stworzyliśmy tak, aby nie dało się zidentyfikować użytkowników, którzy ją wypełnili, więc musimy rozesłać to przypomnienie wszystkim. <span class="mw-translate-fuzzy">Jeżeli chcesz wypisać się z listy adresatów przypomnień i informacji o kolejnych badaniach, wyślij e-mail do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]</span>. Możesz też wysyłać do niego zapytania odnośnie tego badania. [[m:Community_Engagement_Insights/About_CE_Insights|Dowiedz się więcej o tej ankiecie na stronie projektu.]] Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu prywatności]] Wikimedia Foundation. Dziękujemy! </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 03:34, 13 kwi 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17888784 --> == Your feedback matters: Final reminder to take the global Wikimedia survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! To jest ostateczne przypomnienie o ankiecie Wikimedia Foundation, która zakończy się '''23 kwietnia 2018 (07:00 UTC)'''. Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie teraz.]''' '''Jeżeli już wypełniałeś tą ankietę - dziękujemy!''' Tę ankietę stworzyliśmy tak, aby nie dało się zidentyfikować użytkowników, którzy ją wypełnili, więc musimy rozesłać to przypomnienie wszystkim. Aby wypisać się z przyszłych badań, wyślij e-mail poprzez funkcję wysyłania e-mail do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]. Na ten e-mail możesz wysłać również zapytania. [[m:Community_Engagement_Insights/About_CE_Insights|Dowiedz się więcej o tej ankiecie na stronie projektu.]] Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu Wikimedia Foundation w sprawie prywatności]]. </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 02:43, 20 kwi 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17888784 --> == EKi == Cześć, widzę że jesteś tu jedynym aktywnym administratorem - mógłbyś usunąć [[:Kategoria:Ekspresowe kasowanie|EKi]]? Wisi spam od prawie tygodnia... Z góry dzięki, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 22:45, 22 lip 2018 (CEST) == Ukrywanie == Mogę wiedzieć po co ukryłeś wersje w swoim podręczniku? --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 11:25, 31 lip 2018 (CEST) : Kto się na to uskarżał? Moim zdaniem to nadużycie tej funkcji. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 15:42, 31 lip 2018 (CEST) == Wiele edycji w Szablon:StronaStart == Przydatną rzeczą może być formularz "Podgląd strony z tym szablonem" pod oknem edycji, dzięki czemu nie trzeba co chwilę zapisywać, aby zobaczyć jak będzie wyglądała strona z nowym kodem szablonu. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 16:17, 24 sie 2018 (CEST) == Statystyki oglądalności strony == Cześć, piszę do ciebie bo ty jako admin masz możliwość tworzenia i edytowania przestrzeni MediaWiki. Na Wikipedii, w zakładce "historia" jest link do fajnego narzędzia pokazującego statystykę odwiedzin danego artykułu (a także kilka linków do innych narzędzi). Fajnie by było dodać taką funkcję też na Wikibooks. Żeby to zrobić, trzeba utworzyć tę stronę: [[MediaWiki:Histlegend]], kopiując do niej zawartość [[w:MediaWiki:Histlegend|jej odpowiednika na Wikipedii]] (zmieniając oczywiście wszystkie linki z "pl.wikipedia.org" na "pl.wikibooks.org"). Mógłbyś to zrobić? Z góry dziękuję i pozdrawiam, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 17:17, 29 paź 2018 (CET) :Dzięki :) [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:21, 29 paź 2018 (CET) == Przypisy == Po twojej edycji w szablonie {{s|Przypisy}} przestał on działać tak jak poprzednio - dodając od razu sekcję <nowiki>==Przypisy==</nowiki>, tym samym wszystkie strony, na których był wcześniej użyty, mają popsute wyświetlanie przypisów (zniknęła sekcja) - przykład: [[Siewki roślin flory Polski/Liliowate]]. Masz zamiar to poprawić? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:10, 3 lis 2018 (CET) :Do tej pory szablon sam dodawał sekcję; jeżeli dokonujesz zmiany w szablonie, który jest używany na setkach stron, to wypadałoby posprzątać, albo zamiast tego utworzyć nowy szablon, nie dodający sekcji, a ten dodający zostawić na swoim miejscu. W tej chwili po twojej zmianie [https://pl.wikibooks.org/w/index.php?title=Specjalna:Linkuj%C4%85ce/Szablon:Przypisy&namespace=0&limit=500 na ponad 400 stronach] znikła sekcja "Przypisy". W dodatku w tym momencie opis szablonu jest wprowadzający w błąd, bo wciąż mówi, że dodaje sekcję. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 16:40, 4 lis 2018 (CET) ::Dzięki! :) [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 18:39, 4 lis 2018 (CET) == Literówka == Na stronie https://pl.m.wikibooks.org/wiki/Wikibooks:Poczekalnia w nagłówku, który jest nieedytowalny chyba bez odpowiednich uprawnień, jest urywek o treści: "Pełna lista stron, co do których przeprowadza się dyskuję, co dalej robić, znajdują się w " który jest z błędem. Powinno być "znajduje się" Piszę o tym do Ciebie, bo widzę, że Ty tam działasz. Pozdrawiam [[Wikipedysta:Lien Shan|Lien Shan]] ([[Dyskusja wikipedysty:Lien Shan|dyskusja]]) 12:57, 17 lis 2018 (CET) == Prośba o przywrócenie strony == Dzień dobry, Proszę o przywrócenie strony [[Lożban/Tanru i lujvo]] -- 17:17 Samuel sob 5 sty 2019 (CEST) *Na tej stronie nie jest nic merytorycznego napisane! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:27, 5 sty 2019 (CET) *Bo dopiero ją tworzymy! A teraz zniknęło kilka ważniejszych tłumaczeń! -- 16:42 Samuel sob 5 sty 2019 (CET) **Odzyskuję na waszą odpowiedzialność! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:46, 5 sty 2019 (CET) ***Dziękuję -- 16:48 Samuel sob 5 sty 2019 (CET) == Powód blokady? == Dlaczego wycofałeś edycje i zablokowałeś użytkownika [[Wikipedysta:Robert Poklek|Robert Poklek]]? Nie widzę, żeby zrobił cokolwiek złego, najwyraźniej miał zamiar zacząć pisać nową książkę, do której utworzył link i kategorię. Możesz wyjaśnić powody blokady i rewertów? Pozdrawiam, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 19:20, 3 mar 2019 (CET) :A, faktycznie, nie zauważyłam że dawał linki do zewnętrznych stron internetowych. Widocznie jednak chciał tylko zrobić reklamę. Dzięki za wyjaśnienia. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 20:02, 3 mar 2019 (CET) == darknet w praktyce == * Witaj, powiedz mi proszę w jaki sposób usunięte przez Pana strony namawiają do łamania prawa. Książka nie jest o piraceniu czy crackingu, tylko opowiada o zachowaniu prywatności przede wszystkim, poprzez hardering. Z tego co wiem w Polsce nie ma obowiązku podawania prawdziwych danych w internecie ani nie zakazują szyfrowania jak w UK. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 23:54, 20 mar 2019 (CET) strony wisiały od wielu lat, przewinęło się tu wielu adminów do tej pory i żaden nie zwrócił na to uwagi, pozdrawiam. == Pascha (potrawa) == Czy mógłbyś zaimportować artykuł [[w:Pascha (potrawa)|Pascha (potrawa)]] z Wikipedii do podstrony [[Książka kucharska/Pascha]]? Po imporcie dobrze byłoby usunąć wszystkie wersje strony (w trybie usuwania wersji), które nie zawierały przepisu na potrawę, a następnie z najnowszej wersji usunąć (delete) całą treść oprócz przepisu. [[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 13:56, 19 kwi 2019 (CEST) == Odp:Na przykład szablon: NPA == ;[{{fullurl:Dyskusja_wikipedysty:Salicyna|oldid=292347}}#Na_przykład_szablon:_NPA Odp:Na przykład szablon: NPA] Nie wiem, musiałabym się wczytać uważnie w kod szablonu i przetestować by wiedzieć, czy to coś zmienia. To chyba nie ma znaczenia, zresztą i tak w praktyce tego szablonu się już raczej nie używa, jeśli zauważy się NPA to kasuje się w trybie EK... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:19, 29 cze 2019 (CEST) == Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Fundacja Wikimedia pragnie poprosić cię o Twoją opinię w ankiecie na temat doświadczenia związanego z {{SITENAME}} i fundacją. Celem tego badania jest dowiedzieć się w jaki sposób Fundacja wspiera twoją pracę na wiki i jak możemy to zmienić lub poprawić w przyszłości. Twoje przemyślenia będą miały bezpośredni wpływ na obecną i przyszłą pracę Fundacji Wikimedia. Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 16:34, 9 wrz 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19352874 --> == Reminder: Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Kilka tygodni temu zapraszaliśmy Cię do wypełnienia ankiety Community Insights. Jest to coroczne badanie społeczności na całym świecie, organizowane przez Wikimedia Foundation. Chcemy dowiedzieć się jak bardzo nasza praca wspiera wiki. We are 10% towards our goal for participation. Jeżeli jeszcze nie wypełniłeś naszej ankiety, możesz pomóc nam osiągnąć nasz cel! '''Twój głos ma dla nas znaczenie.''' Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 21:14, 20 wrz 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19395141 --> == Reminder: Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Zostało już tylko kilka tygodni na wypełnienie ankiety Community Insights! We are 30% towards our goal for participation. Jeżeli jeszcze nie wypełniłeś naszej ankiety, możesz pomóc nam osiągnąć nasz cel! Dzięki tej ankiecie Wikimedia Foundation uzyska opinie na temat tego, jak dobrze wspiera Twoją pracę na wiki. Wypełnienie zajmie tylko 15-25 minut, a ma bezpośredni wpływ na jakość udzielanego przez nas wsparcia. Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 19:04, 4 paź 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19435548 --> == Blocking User:WMFOffice? == Can I say that blocking the WMF's office account is a brave move, and probably unwise. Prior to blockingan account like that, can I suggest that you check the user page from meta [[User:WMFOffice]] and/or permissions at CentralAuth [[Special:CentralAuth/WMFOffice]]. [[Wikipedysta:Billinghurst|Billinghurst]] ([[Dyskusja wikipedysty:Billinghurst|dyskusja]]) 22:55, 13 lis 2019 (CET) == Vandalism == Hi, I see that you are an active administrator here. Could you check [[Specjalna:Wk%C5%82ad/83.10.130.131]]'s edits are take appropriate actions if needed? Thanks in advance. [[Wikipedysta:Masumrezarock100|Masumrezarock100]] ([[Dyskusja wikipedysty:Masumrezarock100|dyskusja]]) 13:05, 23 sty 2020 (CET) == Vandal == [https://pl.wikibooks.org/wiki/Specjalna:Wkład/2A02:A319:C044:B000:AC27:AC07:BA6B:755D] is a vandal. I could find admins noticeboard, so I'm leaving it here. [[Wikipedysta:Sk4mp|Sk4mp]] ([[Dyskusja wikipedysty:Sk4mp|dyskusja]]) 19:59, 5 lut 2020 (CET) == Terms of Use == Hello, Persino What is this user doing? https://pl.wikibooks.org/w/index.php?title=Ksi%C4%85%C5%BCka_kucharska/Podp%C5%82omyki_%C5%9Bwi%C4%99tokrzyskie&action=history That sort of editing is against [[wmf:Terms of Use]]. Making such edits, mass reverting on ones *own* edits, inserting a dot and then removing it... I sincerely hope you might consider informing the user in the Polish language. Hope this helps everybody in question. Thanks for a reply if you chose to. Truly yours, -- [[Wikipedysta:Nesmir Kudilovic|Nesmir Kudilovic]] ([[Dyskusja wikipedysty:Nesmir Kudilovic|dyskusja]]) 17:01, 14 lut 2020 (CET) == Przenoszone strony == Tak. Trzeba je skasować. [[Wikipedysta:Świętokrzyskie3|Świętokrzyskie3]] ([[Dyskusja wikipedysty:Świętokrzyskie3|dyskusja]]) 10:09, 25 kwi 2020 (CEST) == Kategoria Wikizeszyty == Bo to coś innego... To osobny wikiprojekt i musimy kierować pod konkretne zasoby nauczycieli, którzy będą z tego korzystać. Omówię to z kolegami i koleżankami i zwrócę uwagę na twoją uwagę :) [[Wikipedysta:Klarqa|Klarqa]] ([[Dyskusja wikipedysty:Klarqa|dyskusja]]) 13:09, 12 maj 2020 (CEST) == Szablon [[Szablon:sr|sr]] == Wydaje się w porządku, ale trzeba to potem sprawdzić na jakieś większej książce. Gdy to tworzyłem, to sprawdzałem na [[VHDL/Spis treści]] i tam to nie powoduje błędów. Trzeba teraz wziąć jakąś książkę z rozdziałami i podrozdziałami i tam sprawdzić, czy Twoja zmiana ma, że tak powiem, "ręce i nogi". A i jeżeli odpowiadam w złym miejscu, to przepraszam, ale na Wiki to byłem baaaaaardzo dawno temu i już zapominałem jak komunikuje się tu na stronach dyskusji :(. [[{{ns:user}}:Felix|Felix]] ([[{{ns:user talk}}:Felix|dyskusja]] <small>•</small> [[Special:Contributions/Felix|edycje]]) 17:00, 22 maj 2020 (CEST) == Przenosiny == Ja jeszcze nie mam takich uprawnień, żeby przenosić artykuły. [[Wikipedysta:Snd125671|Snd125671]] ([[Dyskusja wikipedysty:Snd125671|dyskusja]]) 17:35, 12 cze 2020 (CEST) == usunięcie [[Książka kucharska/Wuzetki II]] == Zapomniałam wstawić szablon zintegrowany. Teraz już [https://pl.wikibooks.org/wiki/Specjalna:Linkuj%C4%85ce/Ksi%C4%85%C5%BCka_kucharska/Wuzetki_II linkuje] . [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 16:57, 20 cze 2020 (CEST) Przyjrzałam się dokładniej tutejszej wersji szablonu {{s|zintegrowany}} i... czy ten szablon został przetłumaczony z automatu i porzucony? Czemu tylko z "siostrzanych projektów Wikibooks lub różnych ich wersji językowych" a nie np. pl.wikibooks.org? Czemu "pochodzi w całości" a nie np. "częściowo"? [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 17:05, 20 cze 2020 (CEST) * Hej. Widzę, że popełniłam małe ''faux pas''. Nie zauważyłam, że to Ty pracowałeś nad tym szablonem. Mam nadzieję, że Cię jakoś nie uraziłam. Tak więc, teraz jest "Ten artykuł jest efektem integracji z inną jednostką na Wikibooks. Zawarta choćby częściowo tu treść pochodzi w całości z artykułu". Może drugie zdanie dać takie jak [https://pl.wikipedia.org/wiki/Szablon:Zintegrowany tu]: "Zawarta tu treść pochodzi częściowo z artykułu". Słowa "jednostka" nie oceniam, bo nie znam tutejszej nomenklatury. [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 18:20, 22 cze 2020 (CEST) * Dobra, zapowiada się na dłuższą dyskusję:). Proszę o (ewentualne) kontynuowanie jej w Wikibooks - przeniosłam Twoje wpisy na [[Dyskusja_wikipedysty:SpiderMum|moją tutejszą stronę dyskusji]]. Po drugie, ponownie proszę o odtworzenie strony [[Książka kucharska/Wuzetki II]]. Powód: zintegrowałam artykuł [[Książka kucharska/Wuzetki II]] z artykułem [[Książka kucharska/Wuzetki]], w ten spobób, że po pierwszym zostało tylko przekierowanie. Jest to przypadek opisany tu [https://pl.wikipedia.org/w/index.php?title=Pomoc:Integracja&oldid=57143097#Krok_2A._Stary_artyku%C5%82_%C5%BAr%C3%B3d%C5%82owy_pozostaje_jako_przekierowanie Krok 2A. Stary artykuł źródłowy pozostaje jako przekierowanie]. Czy w Wikibooks przyjęliście inny podział na wydzielone/zintegrowane? [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 19:11, 22 cze 2020 (CEST) PS Bardzo Cię przepraszam za ten chaos w edycjach - trochę się spieszę i takie są efekty. *: Dzięki. [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 17:48, 23 cze 2020 (CEST) == Linki na stronie głównej == Cześć! Poproszę o zmianę linków na stronie głównej. Chodzi o linki do stron Fundacji i Stowarzyszenia. Zmień kod tak samo, jak zrobił to Peter Bowman na Wikisłowniku: [[wikt:Specjalna:Diff/7409893]]. Z góry dziękuję. [[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 23:45, 28 sie 2020 (CEST) == Potrzebuję pomocy :) == Hej, czy moglbys mi pomoc? Chodzi o ksiazke kucharska. : 1. Chcialabym dodac nowy rozdzial (cos w rodzaju "Kucharskie Vadamecum"), w ktorym znalazlyby sie praktyczne informacje na temat roznych rzeczy przydatnych przy gotowaniu, np: :: 1.1. Dzial przyprawy, a w nim np. opis bazylii - do jakich potraw sie nadaje, z jakimi innymi przyprawami sie laczy, jak ja prawidlowo przygotowac przyd uzyciem, jak i jak dlugo mozna ja przechowywac itp. :: 1.2. Dzial miesa, a w nim informacje na temat roznych mies, np. wolowina - poszczegolne czesci wolu, jakie czesci do jakich potraw sie nadaja, czy lepiej jest je piec, gotowac, smazyc czy grillowac, czym co przyprawiac itp. :: 1.3. Dzial warzywa, a w nim informacje na temat roznych warzyw, np. pieczarki - jak je prawidlowo smazyc, zeby nie zaczely sie gotowac we wlasnym sosie, do jakich potraw sie nadaja, jakie przyprawy do nich pasuja itp. :: 1.4. ... : 2. Ponadto na wstepie ksiazki kucharskiej (https://pl.wikibooks.org/wiki/Ksi%C4%85%C5%BCka_kucharska) jest spis tresci, a poszczegolne kategorie sa pisane raz duza raz mala litera - moglbys to jakos poprawic? (np. "dania miesne" vs. "Kuchnia wegetarianska" i inne) Pozdrawiam serdecznie --[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:25, 30 sie 2020 (CEST) :: Dziekuje za wskazowke! --[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:57, 31 sie 2020 (CEST) == Proszę sprawdzić email == Witaj, {{PAGENAME}}: Proszę sprawdzić email! Temat: "The Community Insights survey is coming!" Jeśli masz jakieś pytania, wyślij e-mail na adres surveys@wikimedia.org. (English: Please check your email and spam! Subject is "The Community Insights survey is coming!" If you have questions, email surveys@wikimedia.org.) Sorry for the inconvenience, [[:pl:Special:Diff/60928651|you can read my explanation here]]. [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 18:24, 25 wrz 2020 (CEST) <!-- Wiadomość wysłana przez User:Samuel (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Samuel_(WMF)/Community_Insights_survey/pl&oldid=20478443 --> == Przepisy z numerkami == Móc, zapewne mógłbym, ale jak na jednego to duuuża praca, a ja nie wiem, jak długo tu pobędę, na co dzień będąc zaangażowany bardziej w innych projektach wikipedyjnych. Kulinariami zająłem się trochę jako przerywnikiem w dotychczasowej działalności, choć nie kryję, że wypełnianie Książki kucharskiej różnymi ciekawymi daniami obcych kuchni sprawiło mi przyjemność. Nieco tych "numerkowych" poprawiłem pod drodze, ale to spore zadanie, a w sumie wolałbym się tu skoncentrować na merytorycznych tekstach niż na redakcyjnym porządkowaniu. Niemniej, co jeszcze mogę, to zrobię. Pozdrawiam - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 15:57, 8 lis 2020 (CET) == odp. Onomastyka == Dziekuje!--[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:16, 5 sty 2021 (CET) == Odp:Książka w przestrzeni nazw Kategoria == ;[{{fullurl:Dyskusja_wikipedysty:Superjurek|oldid=401614}}#Książka_w_przestrzeni_nazw_Kategoria Odp:Książka w przestrzeni nazw Kategoria] W odpowiedzi na Twoje pytanie. Ten zabieg, który wzbudził Twoje poważne wątpliwości jest jak najbardziej przemyślany. Zdaję sobie sprawę, że do tworzenia książek służy przestrzeń główna, ale ideą tego podręcznika, jest żeby na wszystkie zadania, które powstaną były katalogowane i automatycznie sortowane według ich odniesień do podstawy programowej. Taką opcję w naturalny sposób zapewniają strony kategorii. W przestrzeni głównej, którą również zamierzam wykorzystać, umieszczam kolejne zadania. Ich kolejność numeryczna ma w tym przypadku wynikać tylko i wyłącznie z ich kolejności powstawania. Za przykład mogę podać [[Zbiór zadań maturalnych/Biologia/Zadania/1|Zadanie 1]]. Kiedy rozwiniesz ramkę z napisem klucz odpowiedzi, to wyskoczy Ci odniesienie do podstawy programowej zarówno pod kątem celów kształcenia i treści nauczania. Podstawa programowa w polskim systemie oświaty ma charakter kaskadowy, z tego też powodu zastosowałem kaskadowe kategorie. Szablony typu <code><nowiki>{{PP2017/LO/Biologia/PR/C/III/2}}</nowiki></code> lub <code><nowiki>{{PP2017/LO/Biologia/PR/T/XII/1/4}}</nowiki></code> są szablonami wypełniającymi w formatce klucza odpowiedzi odpowiednie odniesienie do podstawy programowej i jednocześnie przypisują kaskadowo dla tego zadania odniesienia do kolejnych poziomów podstawy programowej. [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 09:31, 9 kwi 2021 (CEST) :Dodam jeszcze, że jest to inicjatywa, którą w takim kształcie chciałbym wykorzystać do wsparcia merytorycznego innych nauczycieli. W tym zbiorze zadań zamierzam tworzyć dla maturzystów autorskie zadania, zachęcać do tego innych nauczycieli i zlecać jako pracę dodatkową licealistom, aby takie zadania próbowali zredagować. Na Wikibooks to jest o tyle dobre, że w razie gdyby zadanie zawierało błędy merytoryczne, będzie można je skorygować. Niekonwencjonalne wykorzystanie kategorii uważam tu za kluczowe element tego podręcznika, bo podstawa programowa przez swój kaskadowy charakter wymaga możliwości sortowania tych zadań. Dzięki temu nauczyciele będą mogli tworzyć własne arkusze próbnych matur albo ćwiczeń na lekcje, wybierając je z odpowiedniej kategorii. Teraz to nie jest jeszcze takie widoczne, ale jak powstanie z 300 lub 600 zadań, to te kategorie będą nieodzowne. Jak widzisz podstawa na powyższych szablonach, tutaj musi być zastosowana chirurgiczna precyzja, zadanie 1 w tym przypadku realizuje: *<code>PP2017</code> podstawę programową z roku 2017 :*<code>LO</code> dla liceum ogólnokształcącego ::*<code>Biologia</code> z Biologii :::*<code>PR</code> z poziomu rozszerzonego ::::*<code>C</code> z celów kształcenia :::::*<code>III</code> rozdziału III ::::::*<code>2</code> punktu 2 [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 09:45, 9 kwi 2021 (CEST) Co do Wikijunior, to w tym przypadku ono również nie ma zastosowania, bo jest inicjatywą przewidzianą dla dzieci do lat 12, a ten zbiór zadań zaadresowany jest do maturzystów.[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 10:00, 9 kwi 2021 (CEST) == pytanie o funkcjonalność JavaScriptu do Zbioru zadań maturalnych == Cześć, zwracam się z pytaniem o to, co powinienem zrobić, aby zadziałał mi skrypt [[Wikipedysta:Superjurek/common.js]] podczas zapisywania nowego zadania maturalnego? Kod zawarty w tym skrypcie ma wymuszać automatyczne odświeżanie poniższych 2 stron: *[[Zbiór zadań maturalnych/Biologia]] *[[Zbiór zadań maturalnych/Biologia/Zadania]] Pytanie, jak zrobić żeby odświeżał te dwie strony przy zapisaniu nowego zadania? Jeśli uzyskałbym ten efekt, to przestałoby być konieczne ręczne odświeżanie tych dwóch stron. Myślę tu o tym, żeby skrypt ułatwiał życie innym nauczycielom biologii i licealistom chcących wrzucić kilka zadanek maturalnych. Po opublikowaniu jednego musiałby pamiętać o odświeżeniu, co dla niewprawionych użytkowników chcących tylko wrzucić zadanko może być zniechęcające. Ponadto, jeśli nie odświeży, to licznik będzie przekierowywał następnych do numeru zadania już istniejącego, zamiast do numeru następnego (czyli jeszcze nieistniejącego). Stąd też mój zamiar postawienia tego skryptu. Z góry dziękuję za pomoc [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 16:29, 29 kwi 2021 (CEST) :{{Ping|Superjurek}} Już się szykuje skrypt do aktualizowania danej strony i do trybu ciemnego! :* Aktualizacja strony, skrypt: [[Wikipedysta:Persino/Gadget-StronicowyParser.js/AktualizacjaStron.js]]. :* Tryb ciemny, skrypt: [[Wikipedysta:Persino/Gadget-StronicowyParser.js/Tryb_ciemny.js]]. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:19, 27 maj 2022 (CEST) == Prośba o pomoc w naprawieniu modułu. == Cześć Persino, zwracam się do Ciebie z prośbą o pomoc – bo już nieraz umiałeś wyciągnąć mnie z technicznych tarapatów :) Tym razem nie na Wikibooks, ale na Wikipedii. Chodzi o problem opisany w [[w:Dyskusja modułu:Lewandowska&Malik1991]]. Z góry dziękuję za pomoc! Pozdrawiam [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 12:58, 29 sie 2021 (CEST) == Ad:Kategoria:Polecane książki/Terapia zajęciowa == ;[https://pl.wikibooks.org/w/index.php?title=Kategoria:Polecane_ksi%C4%85%C5%BCki/Terapia_zaj%C4%99ciowa&oldid=407198#bodyContent Ad:Kategoria:Polecane książki/Terapia zajęciowa] No właśnie nie jestem pewien kategorii. W klasyfikacji zawodów terapeuta jest klasyfikowany jako " inny średni personel do spraw zdrowia" więc może medycyna? Gdzie byłby podręcznik pielęgniarstwa przykładowo? W Wikipedii artykuł mamy w pedagogice specjalnej. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 13:47, 21 paź 2021 (CEST) :Terapia to jest coś wspomagającego leczenie w medycynie konwencjonalnej, ale nie jest samą medycyną. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:50, 21 paź 2021 (CEST) ::Już poprawiłem na kategorię: Kategoria:Medycyna. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:59, 21 paź 2021 (CEST) == How we will see unregistered users == <section begin=content/> Cześć! Otrzymujesz tę wiadomość, ponieważ jesteś administratorem w jednym z projektów Wikimedia. Obecnie, kiedy ktoś edytuje stronę, nie będąc zalogowanym, w historii wyświetla się jego adres IP. Jak być może już wiesz, nie będziemy mogli tego robić w przyszłości. Jest to decyzja prawników Fundacji Wikimedia, spowodowana zmianami w przepisach o ochronie prywatności w internecie. Zamiast adresu IP będziemy wyświetlać maskowaną tożsamość. Ty jako administrator{{gender:{{ROOTPAGENAME}}||ka|(-ka)}} '''będziesz nadal {{gender:{{ROOTPAGENAME}}|mógł|mogła|mógł/mogła}} zobaczyć oryginalne IP'''. Utworzymy nowe uprawnienie, przeznaczone dla osób, które potrzebują widzieć pełen adres, aby walczyć z wandalizmami, spamem itp. bez uprawnień administratorskich. Patrolujący będą mogli zobaczyć fragment IP również bez tego uprawnienia. Pracujemy również nad [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/Improving tools|lepszymi narzędziami]], wspierającymi w walce przeciwko nadużyciom. Jeśli jeszcze o naszych działaniach nie {{gender:{{ROOTPAGENAME}}|czytałeś|oczytałaś|czytałeś(-aś)}}, możesz się z nimi [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|zapoznać na Meta]]. Aby nie przegapić technicznych zmian na wiki, możesz [[m:Global message delivery/Targets/Tech ambassadors|zasubskrybować]] cotygodniowe wydania [[m:Tech/News|Tech News]]. Mamy [[m:IP Editing: Privacy Enhancement and Abuse Mitigation#IP Masking Implementation Approaches (FAQ)|dwa pomysły]] na implementację maskowania adresów IP. '''Chętnie poznamy twoją opinię'''. Daj nam znać [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|na stronie dyskusji]], co sądzisz na ich temat i tego, który pomysł się sprawdzi lepiej na twojej wiki, teraz i w przyszłości. Możesz napisać w swoim języku. Sugestie są dostępne od października, a ostateczną decyzję podejmiemy po 17 stycznia. Dziękujemy. /[[m:User:Johan (WMF)|Johan (WMF)]]<section end=content/> 19:18, 4 sty 2022 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Admins2022(6)&oldid=22532666 --> == [[Teoria grup przemiennych]] == Zostaje mi tylko podziękować. (-: --[[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 16:07, 11 mar 2022 (CET) == Nawigacja == Tak jak ostatnio, wielkie dzięki. --[[Specjalna:Wkład/2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303|2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303]] ([[Dyskusja wikipedysty:2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303|dyskusja]]) 19:00, 15 kwi 2022 (CEST) == Szablon {{s|Wolumin}} == Dzięki za informację. Musze chyba więcej poczytać o polskich kategoriach. Nie wiem jak edytowac recznie kategorie, są jakby ukryte. Dzięki [[Wikipedysta:Soul windsurfer|Soul windsurfer]] ([[Dyskusja wikipedysty:Soul windsurfer|dyskusja]]) 17:21, 30 lis 2022 (CET) : czy mógłbyś mi wskazać gdzie mogę poczytać o kategoriach. Widziałem stronę szablony wolumin ale to nie rozwiazało moich watpliwości. Dzięki :: dzięki. Czy istnieje narzędzie, które doda taki wpis do każdej strony książki ? --[[Wikipedysta:Soul windsurfer|Soul windsurfer]] ([[Dyskusja wikipedysty:Soul windsurfer|dyskusja]]) 07:08, 2 gru 2022 (CET) == Poprawki dla urządzeń mobilnych == Cześć. Chciałbym poprawić działanie na urządzeniach mobilnych. Widzę, że głównie Ty tutaj edytujesz, więc pytanie czy masz przeciwko? Chodzi głównie o elastyczność stron (żeby strony się ściskały). [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 20:04, 5 gru 2022 (CET) :Aha. Jakby co jestem już adminem interfejsu m.in. na Wikisource i na Wikipedii. [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 20:07, 5 gru 2022 (CET) :A mógłbyś odbezpieczyć ten szablon: {{s|Strona główna/Siostrzane projekty Wikibooks}}. Ew. wystarczy mi jak dodasz tam jakąś klasę w pierwszym wywołaniu ElastycznaKolumna. [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 21:30, 5 gru 2022 (CET) ::OK, skończyłem. Powinno teraz wyglądać przyzwoicie :-). Pozdrawiam, [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 22:37, 5 gru 2022 (CET) :::Hm... No nie jest lepiej. Teraz strona jest za szeroka w wersji mobilnej. A poza tym jak przenosisz, to wypadałoby podać autora ;-) [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 11:28, 6 gru 2022 (CET) ::::No wycofaj swoje zmiany to będzie dobrze. Nie wiem po co zmieniasz jak nie testujesz ;-P [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 11:40, 6 gru 2022 (CET) :* OK, teraz jest w porządku. Dzięki za dodanie informacji o autorach :). :* Nawiasem mówiąc myślę, że w tych różnych style.css wystarczy niższy poziom zabezpieczenia. Wystarczy jak nie będzie można zmieniać tego anonimowo. Ew. tylko redaktorzy, o ile używacie tutaj takiej rangi/poziomu uprawnień. Jak widzisz po moich zmianach i tak można dodać CSS do strony głównej inną drogą ;). Możesz też zrobić zabezpieczenie kaskadowe, ale to może zabezpieczyć znacznie więcej niż jest sensowne. Niektóre strony główne w ogóle nie są zabezpieczone. :* Aha. Jakbyś chciał testować wersję mobilną, to w tzw. devtools (CTRL+SHIFT+I) jest symulacja widoku z telefonu komórkowego. Tylko musiałbyś jeszcze wchodzić na specjalny adres [https://pl.m.wikibooks.org/ pl.m...]. Sama zmiana szerokości okna nie wystarczy. Możesz mi zaufać. Zajmuję się tym od jakichś 20 lat (od czasów jak jeszcze nie było DevTools i nie było Chrome). Jakby co więcej o używania symulacji smartfona znajdziesz tutaj: https://firefox-source-docs.mozilla.org/devtools-user/responsive_design_mode/ Symulacja nie oddaje wszystkich aspektów (np. ekranu dotykowego), ale daje rozsądne przybliżenie doświadczenia. Możesz spróbować dostosować inne ważne strony w ten sposób. :[[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 14:49, 6 gru 2022 (CET) == Tabulator == Hej, czy moglbys mi pomoc? Nie wiem, czy istnieje polecenie dla tabulatorow (tak jak np. ''<''''br''''>'' dla linefeed). Jezeli tak, to jaki jest ich kod? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:00, 29 sty 2023 (CEST) : Dziekuje! == Szablon tabeli w szablonie quizu == Hej, przeszkadzam Ci? Jezeli tak, to po prostu powiedz. Jezeli nie, to mam klopot - wyprobowalam wszystkie mozliwosci tabulatorow, ktore znalalam w linku od Ciebie, ale zaden z nich nie dziala tak, jak bym to sobie wyobrazala. Katastrofa. Teraz chcialabym osiagnac cel "tabelkowosci" poprzez umieszczenie szablonu tabeli w szablonie quizu. Ale to najwyrazniej nie dziala - pojawia sie "blad w skladni". Probowalam roznych rzeczy (np. <nowiki><quiz display=simple> { |type="[]"}</quiz></nowiki> albo <nowiki><quiz display=simple> { |type="()"})</quiz></nowiki>. ale nic nie pomaga. Czy moglbys mi jakos pomoc? * Przyklad: [https://pl.wikibooks.org/wiki/Niemiecki/Exc/Imperfekt] [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:00, 29 sty 2023 (CEST) == Chcę dodać sekcję do artykułu Brydżowe tablice prawdopodobieństwa == Witaj, Persino. Zwracam się do Ciebie jako admina Wikibooks. Jakieś dwa lata temu poprawiłem stronę https://pl.wikibooks.org/wiki/Bryd%C5%BCowe_tablice_prawdopodobie%C5%84stwa, zmieniając prawie wszystkie prawdopodobieństwa w części Rozkład kart jednego koloru u przeciwników (uzasadnienie zmian podałem w Dyskusji tej strony). Wcześniej uzyskałem obietnicę admina, że nie cofnie moich zmian, mimo że nie będą poparte źródłami (bo sam napisałem arkusz kalkulacyjny, który wyliczył te prawdopodobieństwa). I rzeczywiście ta edycja nie została cofnięta. Nie pamiętam, kto był tym adminem, więc zwracam się do Ciebie: napisałem jeszcze jeden arkusz kalkulacyjny, który wyprodukował tabelę prawdopodobieństw, że mój partner (lub określony z przeciwników) ma k z n kart, których nie mam ja (np. w określonym kolorze). Jest to przydatne w fazie licytacji. Czy jeśli to zrobię, moja edycja nie zostanie cofnięta? Nie chcę robić tego bez takiej obietnicy, bo jednak konwersja arkusza na tabelę wiki to spora robota. Chyba, że jest automat, który pozwoli na taką konwersję - jeśli tak, to proszę o wskazówki. Arkusz obecnie jest w formacie .ods, ale mogę go zamienić na .xls. Z góry dziękuję [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 16:52, 26 lut 2023 (CET) :Cześć, Persino. :Udało mi się opanować w oparciu o https://pl.wikipedia.org/wiki/Pomoc:Tabele#Tabela_sformatowana_(zalecany_kod_tabeli) konwersję fragmentu :arkusza na tabelę wiki - jeśli uznasz poniższy opis za wart tego, to będę wdzięczny za :zamieszczenie go na tej stronie. Chyba, że mogę to zrobić sam - napisz mi. :W historii strony "Brydżowe tablice prawdopodobieństwa" może zauważysz, że skasowałem swoją edycję i wkrótce ją ponowiłem. To dlatego, że :wydawało mi się trudne wygenerowanie tabeli "Prawdopodobieństwa (w %), że partner (lub określony przeciwnik) ma przynajmniej k kart z n :brakujących (np. w określonym kolorze)" - umiałem wygenerować "Prawdopodobieństwa (w %), że partner (lub określony przeciwnik) ma NAJWYŻEJ :k kart z n brakujących (np. w określonym kolorze)", która jest mniej wygodna do użycia. Ale wkrótce po opublikowaniu zmian wymyśliłem jak to zrobić i zrobiłem. Niestety :tym razem zapomniałem wypełnić pole "Wypełnij opis zmian" - mam nadzieję, że osoby czytające Historię zmian domyślą się, że powinien on być :taki jak dla edycji, którą skasowałem: Dwie nowe tabele przydatne w fazie licytacji. :'''Konwersja prostokątnego fragmentu arkusza kalkulacyjnego na tabelę wiki''' :(Wytestowane pod Windows 10 na arkuszu Open Office Calc wersja 4.1.13). :Być może warto najpierw w arkuszu dopasować format komórek - np. ograniczyć do dwóch miejsc po przecinku; w Open Office Calc :robi się to tak: [Alt-F] [Komórki] [Zakładka Liczby] [Kategoria Numer] [Opcje Miejsca po przecinku] 2 :Następnie w arkuszu dodaj na lewo od danego obszaru kolumnę wypełnioną napisem |- i skopiuj obszar wraz z tą kolumną do Notatnika. :Przy kopiowaniu z arkusza do Notatnika kolumny są oddzielane znakiem Tab, ale nie można tego znaku wpisać z klawiatury do pola [Znajdź] :- zaznacz ten znak w tekście (myszą lub przez [Shift+strzałka]) i naciśnij [Ctrl+H] - :wypełni to pole [Znajdź] znakiem Tab; w polu [Zamień na] wpisz | i kliknij [Zamień wszystko]. Następnie skopiuj całość do :Open Office Writera (bezpłatny) i podmień wyrażenia regularne: \| na \n| (bo znaczniki muszą być w nowych wierszach; można by umieszczać :znacznik || bez nowego wiersza, ale wtedy trudniej zrobić globalną podmianę); wyrażenia regularne :włącza się za pomocą przycisku [Więcej opcji]. Po wykonaniu [Zamień wszyst.] na początku wstaw wiersz {| class="wikitable" :i ewentualnie |+ Tytuł :a na końcu wiersz |} :Jeśli pierwszy wiersz obszaru ma być traktowany jak nagłówki, podmień w odpowiednich wierszach | na ! (trzeba kliknąć [Zamień] tyle razy :ile kolumn ma tabela). Jeśli masz aktywne wyrażenia regularne, to w polu [Znajdź] musisz mieć \| :Tak wyprodukowany tekst można wkopiować do Wiki. :Puste komórki w kopiowanej części arkusza wyprodukują puste kratki tabeli - czasem to dobre a czasem złe. :[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 11:20, 27 lut 2023 (CET) == Ad:Dyskusja wikipedysty:Salicyna == ;[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty%3ASalicyna&diff=457257&oldid=292350&diffmode=source#bodyContent Ad:Dyskusja wikipedysty:Salicyna] Cześć, jaki cel miała ta edycja? Dostałam tylko niepotrzebnie powiadomienie o tym że napisałeś na mojej dyskusji, myślałam już że coś ważnego... Nudzi ci się? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:07, 5 kwi 2023 (CEST) :Nie było żadnego błędu technicznego. Takie edycje, polegające tylko na porządkowaniu kodu, można ewentualnie wykonywać przy okazji innej, znaczącej edycji, a nie spamować innym użytkownikom niepotrzebnymi powiadomieniami że ktoś do nich napisał... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:25, 5 kwi 2023 (CEST) ::Możesz przestać spamować? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:35, 5 kwi 2023 (CEST) :::To już zakrawa na czystą złośliwość z twojej strony... Czy naprawdę nie rozumiesz, że jak edytujesz czyjąś stronę dyskusji, to ta osoba dostaje czerwone powiadomienie o nowych wiadomościach i e-maila o tym że ktoś do niej napisał – i wchodzi specjalnie na Wikibooks sprawdzić co od niej chcesz po ty by zobaczyć że po raz szesnasty tego samego dnia poprawiasz tylko jakąś bzdurkę techniczną, która równie dobrze mogłaby zostać jak była i nic by się nie stało? Dostałam dziś 16 maili i powiadomień że do mnie piszesz... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:09, 5 kwi 2023 (CEST) == Historia Słowacji == To nie była żadna kopia z Wikipedii, tylko świetna książka. [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:42, 30 kwi 2023 (CEST) : {{Ping|ZAJCOPEDIA}} Ale fragmentami ściągnięta z tego serwisu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:44, 30 kwi 2023 (CEST) ::Może i tak, ale po co ją od razu usuwać? [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:45, 30 kwi 2023 (CEST) ::: {{Ping|ZAJCOPEDIA}} To wygląda na NPA. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:50, 30 kwi 2023 (CEST) ::::Na co? [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:56, 30 kwi 2023 (CEST) ::::: {{Ping|ZAJCOPEDIA}} NPA to naruszenie, praw autorskich, które tutaj należały do {{NAZWASERWISU|Wikipedii|link=tak|klucz projektu=w}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:26, 30 kwi 2023 (CEST). == Czy mogę opublikować artykuł o nowej wersji E-notacji? == Witaj, Persino. Mam pomysł dotyczący modyfikacji E-notacji, tak by była wygodniejsza w użyciu. Czasopisma matematyczne nie chcą go opublikować, bo nie pasuje do ich tematyki (nie dziwię się). Czy mógłbym go opublikować w Wikibooks? Na razie mam spisaną wersję angielską, ale jeśli to konieczne, to mogę ją przetłumaczyć na polski. Czy będę mógł w haśle Notacja naukowa w Wikipedii zrobić link do tego artykułu? To by znacznie podniosło liczbę czytelników. [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 14:24, 23 maj 2023 (CEST) A czy w polskiej Wikibooks mogę publikować po angielsku? [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 16:18, 23 maj 2023 (CEST) :Witaj, Persino. :Opublikowałem polską wersję artykułu [[Notacja West-East i Bin]]. Początkowo chyba wyświetlała się dobrze, ale ostatnio na dwóch komputerach zamiast wzorów pokazuje się komunikat: :Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „http://localhost:6011/pl.wikibooks.org/v1/v1/”:): {\displaystyle x} :- ten wzór miał wypisywać x w trybie matematycznym; inne wzory generują podobny komunikat. Czy wiesz, co może być tego przyczyną i jak ją usunąć? Komunikat proponuje wtyczkę do przeglądarki, ale jaką? Jak ją zainstalować w Chrome'ie? :Najdziwniejsze, że gdy wchodzę w edycję wersji źródłowej i patrzę na podgląd, to jest wszystko w porządku (zarówno w podglądzie w prawym oknie jak po kliknięciu przycisku Podgląd). :Z góry dziękuję za pomoc. :[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 12:01, 11 cze 2023 (CEST) ::Wykonałem pustą edycję - kliknąłem Edytuj i Opublikuj zmiany. Rzeczywiście pomogło na błąd parsera, ale nadal każdy wzór math jest w osobnej linii, a to mi nie odpowiada. Po kliknięciu Edytuj jest tak jak chcę. Poradź jak zrobić, żeby normalnie się pokazywało tak jak w prawym oknie po Edytuj, albo zgódź się na obecną pierwszą linijkę artykułu. ::[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 13:12, 12 cze 2023 (CEST) == Propozycja skryptów ułatwiających pracę zawodową == Cześć, opracowałem wczoraj taki oto skrypt w LUA. Ideą mu przyświecającą jest stworzenie kalkulatora do rozmieniania pieniędzy, który każdy może sobie ściągnąć jako element poradnika. Kod źródłowy wygląda tak: <syntaxhighlight lang=lua line> function calculateNominals(amount) local nominals = {500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01} local result = {} for _, nominal in ipairs(nominals) do local count = math.floor(amount / nominal) if count > 0 then table.insert(result, {nominal = nominal, count = count}) amount = amount - (nominal * count) end end return result end -- Przykładowe użycie: local amount = 123.45 local result = calculateNominals(amount) print("Kwota:", amount) print("Nominały:") for _, entry in ipairs(result) do print(entry.nominal, "x", entry.count) end </syntaxhighlight> w góry dziękuję za Twoją opinię :) [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 10:21, 21 cze 2023 (CEST) == Ad:Angielski == ;[https://pl.wikibooks.org/w/index.php?title=Angielski&diff=next&oldid=464709#bodyContent Ad:Angielski] Dzięki za doklejenie tego linku do wstępu. Jestem trochę załamany brakiem standaryzacji w podręcznikach językowych. Będę się starał wyrównywać. W wytycznych znalazłem tylko w [[Pomoc:Tworzenie podręcznika]] że informacyjna podstrona powinna być [[Nazwa podręcznika/O podręczniku]]. Mamy jeszcze jakieś inne tego typu spisane wytyczne? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 17:52, 23 cze 2023 (CEST) == Licencja == [[Wstęp do fizyki jądra atomowego]] w jaki sposób ograniczenie by nie stosować w pracach naukowych da się pogodzić z wolną licencją? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 09:18, 25 cze 2023 (CEST) == archiwizacja == Dzięki za zarchiwizowanie kawiarenki. To był dobry krok bo było tam już strasznie dużo starych wątków. Jednak teraz mam wątpliwości jak kontynuować naszą dyskusję o szablonach. Czy Utworzyć nowy wątek? Czy skopiować cały stary z historii? Jak uważasz? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:31, 28 cze 2023 (CEST) == Licencja - Ogólna teoria względności == Poprzednio pisałem ale nie doczekałem się odpowiedzi, o [[Wstęp do fizyki jądra atomowego]] a teraz trafiłem na [[Ogólna teoria względności]]. Tu też zapisałeś w opisie licencji "nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp." - jak to można pogodzić z CC:BY-SA? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:32, 3 lip 2023 (CEST) :Problem w tym, że podlinkowana licencja stanowi (w punkcie 8e), że tekst licencji jest kompletny i nie można dodawać dodawać do niego żadnych klauzul. Czyli po dodaniu tych klauzul mamy (a) licencję wewnętrznie sprzeczną i, co ważniejsze, (b) licencję, która nie jest licencją Creative Commons. Zapewne Creative Commons mogłaby w tej sytuacji pozwać autora za bezpodstawne posługiwanie się ich nazwą. [[Wikipedysta:Ankry|Ankry]] ([[Dyskusja wikipedysty:Ankry|dyskusja]]) 21:43, 3 lip 2023 (CEST) == Odp:Odp. Licencja - Ogólna teoria względności == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=466983}}#Odp._Licencja_-_Ogólna_teoria_względności Odp:Odp. Licencja - Ogólna teoria względności] No ale to jest sprzeczne z licencją i będzie potem stwarzać wątpliwości prawne dla chcącego używać. Czy takie rozwiązanie było z kimkolwiek konsultowane? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:57, 3 lip 2023 (CEST) == Odp:Odp. Licencja - Ogólna teoria względności == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=467013}}#Odp._Licencja_-_Ogólna_teoria_względności Odp:Odp. Licencja - Ogólna teoria względności] Jesteś autorem. Radzę więc usunięcie tego ograniczenia i stosowanie standardowej licencji. Jeżeli nie chcesz i uważasz za konieczne stosowanie takich nie wolnych ograniczeń uważam że materiał nie powinien znajdować się w Wikimediach. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 22:00, 3 lip 2023 (CEST) == Odp:Odp. Wstęp do fizyki jądra atomowego/Nukleony a budowa jądra atomowego == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=467036}}#Odp._Wstęp_do_fizyki_jądra_atomowego/Nukleony_a_budowa_jądra_atomowego Odp:Odp. Wstęp do fizyki jądra atomowego/Nukleony a budowa jądra atomowego] Umknęła mi odpowiedz i teraz też się nie udało mi doszukać. Rozumiem, że chodzi o tamtą licencję a sprawa już załatwiona. Pytasz czy może być jak w stopce teraz. Moim zdaniem ta adnotacja o licencji jest zbędna. Uważam, że powinien zostać jedynie sposób uznania autorstwa. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:03, 4 lip 2023 (CEST) == Transfer artykułu harcerskiego z Wikipedii na Wikibooks == Cześć, pingnąłem Cię w poczekalni na Wikipedii. Jeden z administratorów ponaglił mnie w temacie transferu, którego temat w sumie wyszedł z mojej inicjatywy, ale potrzebuję inspiracji jak się go robi oraz czy jest on do przeprowadzenia w sposób prosty. Podejrzewam że byłby to też dobry przyczynek to utworzenia kroniki harcerskiej na Wikibooks, a w szerszej perspektywie w rejestrze usunięć na Wikipedii moglibyśmy znaleźć na spokojnie i poprzetransferowywać na WB. Co o tym sądzisz? [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:06, 8 paź 2023 (CEST) : {{Ping|Superjurek}} Masz rację. Już dokonano transferu twojego artykułu, tzn. teraz jest pod adresem: [[Poradnik_harcerski/7_Gdańska_Integracyjna_Drużyna_Harcerska_„Keja”]]. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:48, 8 paź 2023 (CEST) == Terapia zajęciowa/WIKIBOOKS == Tak, pomogło. Teraz strona się już nie pojawia w spisie. Pozdrawiam, [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 15:56, 20 maj 2024 (CEST) == Wiesz, kto za to odpowiada? == Cześć, <br> Zaintrygowała mnie sprawa dodania [[Windtaping|mojego podręcznika]] do podręczników polecanych. Nie mam pojęcia, kto mógł to zrobić, dlatego postanowiłem poprosić Cię o pomoc w tej kwestii. <br> Nie mieszam się w kwestie kategorii - po prostu się na tym nie znam, więc to musiał być ktoś inny. Lecz nie wiem, kto. <br> Czy mógłbyś wskazać, komu mogę być wdzięczny za to wyróżnienie? Miłego dnia, <br> [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 17:16, 20 maj 2024 (CEST) == Wycofania EKów Azoniastego == Użytkownik ten uprawia zwyczajny wandalizm, a tu [https://pl.wikibooks.org/w/index.php?title=Windtaping/Czym_jest_windtaping%3F&diff=prev&oldid=489051 atak osobisty] w opisie diffu. [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 13:34, 29 cze 2024 (CEST) :: {{Ping|InternetowyGołąb}} Jak dla mnie to jest inny opis praw fizyki, ale książkę zgłoś do {{lr|Poczekalnia|poczekalni}}, aby inni użytkownicy się zapoznali się z tym problemem, czy twoja decyzja jest zasadna, już tak było na {{NAZWASERWISU|link=tak}}, że jeden użytkownik kasował wszystkim okładki, a później ten użytkownik został zablokowany przez pracowników Fundacji MediaWiki. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:44, 29 cze 2024 (CEST) :::Jakby ciebie administrator Nonsensopedii stalkował, też zapewne używałbyś ataków osobistych. Chyba, że masz dużą cierpliwość (mi się skończyła 4 lutego). [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 13:36, 29 cze 2024 (CEST) :::Rozumiem, a czy rozpatrzysz mój wniosek o blokadę? [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 13:47, 29 cze 2024 (CEST) :::: Ale najpierw musisz udowodnić na poczekalni, że ta książka jest wandalizmem, ale inni użytkownicy muszą to potwierdzić! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:52, 29 cze 2024 (CEST) :::::Nie wiem, czy jest sens udowadniać fałsz. Kłamstwo zazwyczaj ma krótkie nogi. [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 13:54, 29 cze 2024 (CEST) :::::Nie no jasne, mi chodzi teraz o działalność Azoniastego poza windtapping, jego prowokujące opisy diffów. Po prostu przejrzyj wkład. [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 14:42, 29 cze 2024 (CEST) :::::: {{Ping|InternetowyGołąb}} Gdzie są takie diff'y? Ten użytkownik potrafił znaleźć błędy językowe, dodać coś od siebie w tekstach innych, poza nieudaną próbą w swoim brudnopisie edycji strony głównej projektu {{lr2|Strona główna}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:55, 29 cze 2024 (CEST) :Hej @[[Wikipedysta:Persino|Persino]]. Użytkownik ten został zablokowany permanentnie na Wikipedii, przez co przeniósł się tutaj (zob. [https://pl.wikibooks.org/w/index.php?title=Wikipedysta:Azoniasty_220&diff=prev&oldid=489024 ten wpis] za co już powinna pójść blokada). To użytkownik uprawiający trolling, zachowujący się niepoważnie i mylący Nonsensopedię z Wikipedią. A utworzone wpisy chyba powinny podchodzić pod to, że wiki nie jest hostingiem na własne opowieści oraz nie jest też blogiem. To wszystko jest do usunięcia, a blokada też się moim zdaniem należy. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 14:58, 29 cze 2024 (CEST) ::Ponadto, czy nie dostrzegasz naprawdę że [https://pl.wikibooks.org/wiki/Windtaping/Czym_jest_windtaping%3F to] jest zmyślone? :) [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 14:59, 29 cze 2024 (CEST) ::: {{Ping|AramilFeraxa}} Już blokuję, chociaż niektóre wpisy są poprawne, ale macie racje z {{lg|Windtaping}}, cały podręcznik trzeba usunąć! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 29 cze 2024 (CEST) ::::Dzięki. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 15:17, 29 cze 2024 (CEST) :::: {{Ping|AramilFeraxa}} Muszę też sprawdzić inne wpisy tego autora! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:44, 29 cze 2024 (CEST) :::::@[[Wikipedysta:Persino|Persino]] Wraca z adresów IP, zablokuj może tworzenie Windtaping i tą stronę polecane książki. https://guc.toolforge.org/?by=date&user=84.40.140.94 [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 16:57, 12 lip 2024 (CEST) ::::::Jeszcze czego! Na to się nie zgodzimy, po tym, co się dzieje na Nonsie się nie zgodzimy. [[Specjalna:Wkład/84.40.140.94|84.40.140.94]] ([[Dyskusja wikipedysty:84.40.140.94|dyskusja]]) 16:58, 12 lip 2024 (CEST) == GFDL == Hello! I have noticed that [[:w:en:Wikipedia:Image license migration]] was not completed here. It is easy to do with a bot if you or any other active users have a bot. If not I can do it with my bot. But perhaps you could check [[Specjalna:Nieużywane_pliki]] first and see if any of the files are no longer needed and can be deleted. [[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 18:29, 30 sie 2024 (CEST) * {{Ping|MGA73}} The files there are unused. ** But the page [[Wikipedysta:Beau.bot/listy/pliki]] is invalid. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) : I created [[Szablon:Cc-by-sa-3.0-migrated]] and tried to translate the line about license migration. Please help check/fix. I think the code used in the license migration should be in English. It is much easier if files are copied to or from Commons or other wikis. Only the visible text should be translated. : I will create the templates etc. so you can see how the resul will be. Then perhaps it is easier for someone with a bot to judge if they can help. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 16:50, 7 wrz 2024 (CEST) :: I created/changed templates and made an example edit: [[Special:Diff/490081]]. Would anyone like to work on this task? :: I can probably finish it in 1 hour if I get a bot flag. But it would be great if someone that allready have a bot can do it. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 17:28, 7 wrz 2024 (CEST) ::: I made https://quarry.wmcloud.org/query/86177 where the upload date is visible (latest date so file may be eligible even if uploaded after August 2009). The files are in [[:Kategoria:Wikibooks license migration candidates]] ({{Ping|MGA73}} Now: [[:Kategoria:Pliki oczekujące na przeniesienie do Commons]]) untill they are fixed. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 21:13, 9 wrz 2024 (CEST) * {{Ping|MGA73}} Do it with your bot, because that's not what I'm for, that's what biorocrats are for.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) :: Thank you. Just to be sure. Should I edit without a bot flag or should I request a bot flag on meta? --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 20:20, 13 wrz 2024 (CEST) ::: {{Ping|MGA73}} You should ask for the bot flag on the meta with the flight attendant. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) :::: Thank you. Done! --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 22:40, 13 wrz 2024 (CEST) == Nieakceptowalny język == [https://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikibooks%3AStrona_g%C5%82%C3%B3wna&diff=490038&oldid=489708 diff] [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 11:23, 2 wrz 2024 (CEST) == Ad:Pełny ekran szablonu stronicowego {{s|StronaStart}} i jego kolegów == ;[[Dyskusja_wikipedysty:Marek_Mazurkiewicz#Pełny_ekran_szablonu_stronicowego_&#123;&#123;StronaStart&#125;&#125;_i_jego_kolegów|Ad:Pełny ekran szablonu stronicowego &#123;&#123;StronaStart&#125;&#125; i jego kolegów]] Kod nic mi nie mówi. Nadal uważam że te szablony w większości wypadków są zbędne i standardowo strony wiki wyświetlają się prawidłowo. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 22:07, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} Wybacz, ale wprowadziłeś zły kod twojego wpisu, i dlatego musiałem poprawić. Ale do rzeczy: To zależy od preferencji użytkowników, jak kto woli, i dlatego należy wprowadzić ten kod do swojego {{Code|common.css}}, aby ten kod zadziałał poprawnie, a usuwanie tych szablonów ze stron artykułów w przestrzeni: {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}, jest wandalizmem, bo mogą znaleźć się użytkownicy, którzy podzielają mój pogląd lub twój, a te wpisy tego kodu chcę umieścić w osobnym gadżecie, i nie trzeba będzie ich umieszczać na stronie użytkownika w przestrzeni {{Np|User|link=tak}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:33, 21 lis 2024 (CET) *:Jeszcze raz zrobiłem test jak strona wygląda z szablonem: [[Wikipedysta:Marek Mazurkiewicz/szablontak|Marek Mazurkiewicz/szablontak]] i bez niego: [[Wikipedysta:Marek Mazurkiewicz/szablonnie]]. Nadal uważam, że te szablony są szkodliwe. Tu nie chodzi o mnie. Uważam, że są szkodliwe dla wszystkich. W sensie czynią Wikibooks gorszą stroną. Czy proponujesz żebym ustawiał sobie w swoim Common.css kod który będzie niwielował działąnie tych szablonów? A czy rozważałeś zasępienie działania tych szablonów kodem w swoim osobistym css? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:01, 21 lis 2024 (CET) *:: {{Ping|Marek Mazurkiewicz}} Ten kod można zrobić w postaci gadżetu, który działa domyślnie, i normalnie nie trzeba będzie tworzyć własnego {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}, a jak kod jednak umieścimy na tej stronie, czyli na {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}, to można zobaczyć stronę na cały ekran plus spis treści po prawej stronie. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:08, 21 lis 2024 (CET) *:::Czyli proponowany kod znosiłby działanie szablonów. Dobrze rozumiem? Dla mnie to nie rozwiązuje problemu. Szablony też czynią Wikinews gorszą stroną gdy zaglądam bez logowania. Spis treści przecież pojawia się automatycznie w mediawiki przy 3 nagłówkach i nie potrzebne są do tego szablony. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:17, 21 lis 2024 (CET) *::: {{Ping|Marek Mazurkiewicz}} Taki gadżet będzie działać domyślnie bez zalogowania, strona będzie na całym ekranie dostępnym, a na tej stronie po prawej stronie, nie za prawą stroną, będzie spis treści (ten spis treści wyłącza automatyczny spis), który działa na każdej skórce, bez zajmowania niezbędnej przestrzeni w ekranie głównym tekstu na spis treści, bo on znajduje się po prawej strona na na, a nie za. Jak chcesz wypróbować ten kod, to stwórz {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:35, 21 lis 2024 (CET) *::::Stworzyłem [[Wikipedysta:Marek Mazurkiewicz/Common.css]] i wkleiłem tam kod i nadal widzę szkodliwe efekty działania szablonów. Tekst nadal jest w ramce i nadal wyświetla się ten dziwny spis treści mrugający i przysłaniający zamiast standardowego spisu treści mediawiki. Sprawdzałem na [[Wstęp_do_fizyki_jądra_atomowego/Nukleony a budowa jądra atomowego]] oraz na [[Wikipedysta:Marek Mazurkiewicz/szablontak]] [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 00:40, 22 lis 2024 (CET) *::::: {{Ping|Marek Mazurkiewicz}} Zamiast [[Wikipedysta:Marek Mazurkiewicz/Common.css]] powinno być [[Wikipedysta:Marek Mazurkiewicz/common.css]]. Przepraszam za pomyłkę! <del>I jeszcze zamień {{Code|translate(117%,-117%)}} na {{Code|translate(115%,-117%)}}.</del> [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:46, 22 lis 2024 (CET) *:::::: {{Ping|Marek Mazurkiewicz}} Odkomentowałem w szablonie {{s|StronaStart/stronastart.css|z przestrzenią=tak}} te wpisy do odwołania, teraz powinno się widzieć efekty pracy, sprawdź! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:17, 22 lis 2024 (CET) *:::::::Nadal ten kod nic nie naprawia. Obramowanie jest jak było. Spis treści dziwny jest jak był. Nadal uważam że te szablony są szkodliwe. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 01:30, 22 lis 2024 (CET) *::::::: {{Ping|Marek Mazurkiewicz}} Co mam zrobić bez usuwania {{s|StronaStart}} (ten szablon nie dostarcza bezpośredniego formatowania, a jego koledzy już tak)... Czy widzisz główny tekst na cały ekran, o to mi chodzi! Na smartfonach jest normalnie! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:36, 22 lis 2024 (CET) *::::::::Tak tekst jest trochę poszerzony. Nie widzę rozwiązania poza nie stosowaniem szablonu Strona start i podobnych. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 01:45, 22 lis 2024 (CET) *:::::::: {{Ping|Marek Mazurkiewicz}} A może spis treści po zwinięciu przechowywać w bardzo małej ramce, a po najechaniu na nią kreuje się spis treści, nie w tej ramce, w postaci pełnej? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:58, 22 lis 2024 (CET) *:::::::::Właśnie takie mrugające zachowanie szablonu uważam za szkodliwe. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:05, 22 lis 2024 (CET) *:::::::::: {{Ping|Marek Mazurkiewicz}} Czyli zwiększanie spisu treści od miniaturki do pełnej po najechaniu wskaźnika myszki, a po odsunięciu po czerech sekundach się zmniejsza, czyli mam zrobić, aby spis od razu po najechaniu ma być wielki, a po czterech sekundach mniejszy? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:37, 22 lis 2024 (CET) *:::::::::: {{Ping|Marek Mazurkiewicz}} A to mruganie raczej z tego wynika, że w {{Code|MediaWiki:Common.js}} w skrypcie JavaScript do transition nie zawiera muteksu, właśnie przygotowywuję skrypt, który takiego mrugania nie ma. Wynika to raczej z błędu z samego działania skryptu JS. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:42, 22 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} A użycie na stronach innych niż te wymienione artykularne (przestrzeń {{Np|Project|link=tak}}) jest kwestią wprowadzenia, to też mam poprawić? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:46, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} Jeszcze wystarczy napisać swój {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:51, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} A może trzeba wprowadzić włączenie i wyłączenie spisu treści przy poszerzonym tekście, wtedy może ci się to spodoba, w moich skryptach na moim koncie jest coś takiego, że spis treści włączony nie będzie nad tekstem po prawej stronie, bo go nie będzie tam, lub włączony będzie nad tekstem, bo tam on będzie. Można to zrobić za pomocą przycisku. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:58, 22 lis 2024 (CET) == Ad:Dyskusja wikipedysty:Marek Mazurkiewicz == ;[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty:Marek_Mazurkiewicz&curid=60083&diff=493138&oldid=493064#bodyContent Ad:Dyskusja wikipedysty:Marek Mazurkiewicz] Za każdym razem gdy edytujesz ten kod dostaję powiadomienie o nowej wiadomości. Nie ma potrzeby żebyś go tutaj poprawiał. Mówiłem już że to nie jest rozwiązanie problemu. Moim głównym problemem jest że na Wikibooks występują niestandardowe dla mediawiki i nieuzasadnione rozwiązania. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:58, 25 lis 2024 (CET) : {{Ping|Marek Mazurkiewicz}} Już skończyłem ten gadżet, który miałeś na stronach {{Code|common.css}}, ale zauważyłem, że nie wszystko da się zrobić za pomocą mechanizmu mediawiki za pomocą standardowych rozwiązań, a niestandardowym rozwiązaniem np. jest numeracja wzorów matematycznych. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:07, 26 lis 2024 (CET) == Ukrycie zmian == Hej, Wydaje mi się, że wypadałoby poukrywać zmiany [[Specjalna:Wkład/Borfa_Borforfa|tego użytkownika]]. [[Wikipedysta:Swam pl|Swam pl]] ([[Dyskusja wikipedysty:Swam pl|dyskusja]]) 15:17, 14 gru 2024 (CET) :Dzięki za ukrycie :) [[Wikipedysta:Swam pl|Swam pl]] ([[Dyskusja wikipedysty:Swam pl|dyskusja]]) 15:30, 14 gru 2024 (CET) == Filtr nadużyć blokuje edycję == Cześć, nie wiem w sumie do kogo napisać. Filtr odrzuca moje edycje w [[User:Hythonia/brudnopis]], gdy próbuję dodać zasady gry. Jedyną informacją, jaką otrzymuję, jest „Same czarne nieinterpretowalne znaki” albo „Nieprawidłowy wprowadzony tekst” ({{Ping|Hythonia}} Tutaj był błąd! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:31, 15 lut 2025 (CET)) Blokowanego tekstu nie mogę tutaj nawet wkleić, a nie ma żadnych „czarnych nieinterpretowalnych znaków”, informuje tylko o celu gry. Nie wiem, co w tej sytuacji zrobić. Pomożesz? [[Wikipedysta:Hythonia|Hythonia]] ([[Dyskusja wikipedysty:Hythonia|dyskusja]]) 14:20, 15 lut 2025 (CET) * Zauważyłem ten błąd, jestem w trakcie usuwania jego! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:25, 15 lut 2025 (CET) ** {{Ping|Hythonia}} Usunąłem ten błąd w filtrach, teraz możesz pisać, ale uważaj na przecinki i kropki, na końcu linii nie może być spacji lub tabulacji, czy nawet białych znaków o niezerowej szerokości. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:47, 15 lut 2025 (CET) ** {{Ping|Hythonia}} „Same czarne nieinterpretowalne znaki” jest zabezpieczeniem, jakby wandal chciał linię zamienić lub zastąpić ją jednym ciągiem znaków niespacjowych, okrążonych z jednej strony lub drugiej, białymi znakami lub bez nich (wtedy cała linia jest tym ciągiem znaków niespacjowych). [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:02, 15 lut 2025 (CET) **:Jasne, dziękuję bardzo. [[Wikipedysta:Hythonia|Hythonia]] ([[Dyskusja wikipedysty:Hythonia|dyskusja]]) 15:56, 15 lut 2025 (CET) **:Mówiłem, niech filtr pozwala na zapisanie edycji! [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 03:00, 16 lut 2025 (CET) **:: {{Ping|Wargo}} Dla kilku filtrów zamieniłem: '''odrzuć''', na: '''ostrzeżenie''' (aby zebrać dane, czy są poprawne). Jakie mam jeszcze zamienić tak! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:13, 16 lut 2025 (CET) == Filtr nadużyć == Hej, poprawcie sobie filtry nadużyć, aby nie łapały administratorów, bo ciągle łapie Ciebie, co utrudnia jego patrolowanie i przeglądanie [https://pl.wikibooks.org/wiki/Specjalna:Rejestr_nadu%C5%BCy%C4%87]. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 09:31, 4 mar 2025 (CET) :PS. Filtr 52 chyba generalnie wymaga poprawy swojego działania (łapie na przykład emotki typu ":)" na końcu zdania po spacji) [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 09:32, 4 mar 2025 (CET) :: Poprawię, zrobię jeszcze jedną edycję i zabieram się do pracy za filtry. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 4 mar 2025 (CET) :: <del>Odjąłem: 😊, za pomocą wyrażeń regularnych. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:54, 4 mar 2025 (CET)</del> :::To blokował filtr 52, nie 25. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 10:03, 4 mar 2025 (CET) :::: I dlatego przekreśliłem, już można napisać :), nawet po linku zewnętrznym, czy wewnętrznym, na końcu zdania :), nie tylko w cudzysłowie ":)". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:16, 4 mar 2025 (CET) ::::* Stworzyłem listę emotikonów w postaci: <code>p_emotikony:="(:\)|:\(|:D|:P|;\)|:O|:\||:S|:3|:X|:\-\*|:'\(|:\-\/|:\|\])";</code>, w filtrze 52. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:45, 4 mar 2025 (CET) == Znów filtr odrzuca == Ponownie te same problemy z automatycznym odrzucaniem zapisu określonego jako "akcja szkodliwa" i "nieprawidłowy wprowadzony tekst" - tym razem w ''Książce kucharskiej'', do której ostatnie takie wpisy (przepisy) obyły się bez kłopotu. Przyznam, że może to zniechęcać do jakiegokolwiek działania na Wikibooks. - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 12:06, 22 mar 2025 (CET) : Wybacz, że tak długo, ale błąd już został naprawiony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:50, 22 mar 2025 (CET) == MS-DOS/Okładka == Filtr nadużyć nie pozwala mi poprawić interpunkcji. Znaczników nie ruszam. [[Wikipedysta:Sebek Adamowicz|Sebek Adamowicz]] ([[Dyskusja wikipedysty:Sebek Adamowicz|dyskusja]]) 20:52, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Już błąd naprawiony, znaczniki zostały zamienione na odpowiednie szablony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:00, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Zamiast znacznika {{Tag|center}} używaj szablonu {{s|Center}}, a zamiast {{Tag|font}} używaj {{s|Font}}, bo te znaczniki są wycofywane z polskiego {{NAZWASERWISU|link=tak|po=a}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:22, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Już z filtrem nadużyć raczej nie będziesz miał kłopotu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:58, 20 kwi 2025 (CEST) ::Z kolei tu [https://pl.m.wikibooks.org/wiki/Microsoft_Windows_9x/Nieoficjalny_SP#A_co_z_innymi_wersjami?] chciałem wstawić link z Internet Archive, ale filtr nadużyć blokuje. [[Wikipedysta:Sebek Adamowicz|Sebek Adamowicz]] ([[Dyskusja wikipedysty:Sebek Adamowicz|dyskusja]]) 00:07, 21 kwi 2025 (CEST) :::{{Ping|Sebek Adamowicz}} Już nie ma tego błędu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:50, 21 kwi 2025 (CEST) == Ukrycia wersji == Hej odpowiem tutaj. Nie, to nie jest groźny wandal. Odkryłem tylko edycje ip https://pl.wikibooks.org/wiki/Specjalna:Wk%C5%82ad/77.253.96.155, gdyż jest to pewien user omijający blokadę. Nie ma podstaw do ukrywania opisu zmian i edycji, a tym bardziej nazwy użytkownika. Takie ukrycie tylko utrudnia przeglądanie wkładu i pracę. Ukrywamy przecież tylko wersje rażąco obraźliwe itp. Sam fakt, że jest to jakiś wandal nie jest podstawą do ukrycia wersji. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 11:40, 30 kwi 2025 (CEST) :{{Ping|AramilFeraxa}} Ale on, pod różnymi IP'ami, wandalizował ten projekt, co ty na to, i to są edycję AZONIASTEGO, czyli trola internetowago, że nawet użytkownicy Wikipedii, kazali usuwać jego edycję i strony. On się przeniósł z Wikipedii na Wikibooks, bo tam prawdopodobnie został zablokowany. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:52, 30 kwi 2025 (CEST) ::Ale powtarzam: samo wandalizowanie nie jest powodem do ukrywania wersji wraz z nazwą użytkownika :) Utrudnia to pracę. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 11:56, 30 kwi 2025 (CEST) == Odp.: Filtr nadużyć == Dziękuję! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:57, 29 cze 2025 (CEST) == Dlaczego ta różnica? == Hej, czy mógłbyś zerknąć tu: [[https://pl.wikibooks.org/wiki/Kategoria:Makarony]] i znalezc roznice w haslach [[https://pl.wikibooks.org/wiki/Ksi%C4%85%C5%BCka_kucharska/Spaghetti_z_mi%C4%99sem_mielonym_i_boczkiem]] oraz [[https://pl.wikibooks.org/wiki/Spaghetti_z_orzechami_i_parmezanem]] powodujący, ze przed jednym jest tekst "Książka kucharska", a przy drugim nie ma? Kategorie w tekstach źródłowych w zasadzie się pokrywają. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:09, 30 cze 2025 (CEST) * Dziekuje, wszystko jasne. I dziekuje za odblokowanie szablonu ''ek''. == Produkty spozywcze firmy Knorr - czy wolno nam "reklamowac"? == Hej, wiele przepisow jako dodatki podaje np. "1 opakowanie sosu smietanowo-serowego Knorr" i wiele podobnych. Czy to jest reklama dla Knorra, ktora powinna byc usunieta z modulu "Ksiazka kucharska", czy nie? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:27, 30 cze 2025 (CEST) * {{Ping|EdytaT}} Reklamy typu Knorr powinny być usunięte, bądź np.: "1 opakowanie sosu smietanowo-serowego Knorr", zamień w coś rodzaju na: "1 opakowanie sosu smietanowo-serowego", można też powiedzieć, jak ten owy sos przygotować. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:34, 30 cze 2025 (CEST) *:Tak myslalam i tak chcialam zrobic. Jest tego sporo. Pozdrawiam. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:37, 30 cze 2025 (CEST) == odp. Filtr nadużyć - dziekuje. == Dziekuje za pomoc. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:47, 3 lip 2025 (CEST) :Diekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:59, 4 lip 2025 (CEST) == Co to jest "Kategoria: Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka"? == Hej, mozesz pomoc? Jakos nie wiem, o jaki naglowek chodzi. Nie potrafilam tez dokopac sie do dokumentacji tego szablonu. Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 16:12, 4 lip 2025 (CEST) : {{Ping|EdytaT}} {{L|Kategoria:Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka}}, tu chodzi, że nie ma nagłówka: <nowiki>==Przypisy==</nowiki>, to nie jest błąd, tylko informacja dla wikipedysty, jakby taki nagłówek chciał dodać w kodzie, ale nie matrw się, ten nagłówek sam jest automatycznie dodawany, jeżeli go nie ma, ale nie w kodzie, ale w artykule. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:31, 4 lip 2025 (CEST) :: {{Ping|EdytaT}} Generuje go szablon {{s|Przypisy}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:37, 4 lip 2025 (CEST) == Ksiazka kucharska - bezwartościowe przepisy == Hej, w ksiazce kucharskiej sa setki przepisow wpisanych przez Swietokrzyskie... Te przepisy sa moim zdaniem do usuniecia (przynajmniej czesc z nich). Ich nazwy to "danie 1, danie 2, danie 3" lub w tym stylu. Nie wiadomo, jakie to sa dania, a nawet czytajac kazdy z tych przepisow, to nie wiadomo o co chodzi, zanim sie nie przeczyta do samego konca. A i to nie znaczy, ze mozna ten przepis zaopatrzyc w sensowna nazwe. Jest tez drugi problem z tymi przepisami - zasmiecaja ten kucharski podrecznik, czynia go malo atrakcyjnym dla zainteresowanych, sa absolutnie zniechecajace i odpychajace. Moglabym je powoli poprzegladac, zmienic nazwy, uporzdkowac kategorie lub zameldowac do skasowania (wiekszosc). Nie chce jednak przysparzac Tobie klopotu z tym ciaglym kasowaniem. Czy moze jednak zgodzilbys sie na to? Czy sa tez inni administratorzy czy edytorzy, z ktorymi trzeba by o tym porozmawiac? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:54, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Jeszcze jest jeden administrator: {{Ping|Pavroo}}, ale jest nieaktywny, od pewnego czasu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:57, 6 lip 2025 (CEST) == Co jest lepsze - jeden olbrzymi modul, czy osobne mniejsze podreczniki? == Hej - na przykladzie ksiazki kucharskiej - teoretycznie jest ksiazka zawierajaca przepisy. Ale mnostwo zwiazanych z tym tematow, np. Golabki, Chlodniki, Oleje spozywcze, Drob, Wolowina, Nabial, technia przyrzadzania potraw, Ziola, Przyprawy itd. itd. Istnieje niezliczona ilosc takich tematow i niezliczona ilosc drukowanych ksiazek na temat np. pomidorow, przyborow kuchennych, rodzajow ciast. W takich jednotematycznych ksiazkach mozna znalezc przydatne w gotowaniu informacje, a zawarcie ich w module "Ksiazka kucharska" stworzyloby podrecznik nieskonczony. Jak wiec myslisz - czy temat "oleje spozywcze" podlaczyc pod podrecznik "Ksiazka kucharska", czy utworzyc osobny modul, a w ksiazce kucharskiej stworzyc np. kategorie, w ktorej bylby link do tego tematycznego modulu? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:04, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Masz rację... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:07, 6 lip 2025 (CEST) == Linkowac / nie linkowac / dlaczego nie linkowac? == Hej, w [[Wikibooks:Zasady_i_wskazówki]] sa takie punkty: * twórz odnośniki tylko wtedy, gdy kontekst tego wymaga * staraj się nie stosować zewnętrznych odnośników Oczywiscie rozumiem, ze nie nalezy tworzyc odnosnikow do wszystkiego, co popadnie. Ale np. w Module "Napary ziolowe" piszac o cynamonie podaje informacje, ze zawiera on kumaryne. Nie chce w tym module pisac nic wiecej o kumarynie, ale uwazam, ze link do artykulu w wikipedii o kumarynie jest tu jak najbardziej na miejscu (odpowiedz na pytania: co to jest? czy jest zdrowe czy szkodliwe? ile tego mozna spozyc? w jakich innych produktach sie znajduje itd.). Jakie jest Twoje zdanie na ten temat?. Pytanie drugie: chetnie natomiast wstawiam odnosniki wewnatrz modulu, gdy piszac o czyms innym zahaczam o temat/zjawisko/rzecz juz w tym module opisane. Czy to jest szkodliwe dla wikibooks? I jeszcze trzecie pytanie: dlaczego (technicznie) lepiej nie uzywac odnosnikow? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:19, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Odnośników na zewnątrz projektów raczej nie powinno się używać, ponieważ, te strony, do których zostały użyte, i tak znikną z internetu, one będą musiały być zaktualizowane, albo skasowane, lepiej jest tworzyć odnośniki, do wewnątrz projektu, albo do {{NAZWASERWISU|link=tak|klucz projektu=w|Wikipedii polskiej}}, czy {{NAZWASERWISU|link=tak|klucz projektu=en:w|Wikipedii angielskiej}}, czy do projektu {{NAZWASERWISU|link=tak|klucz projektu=en:b|Wikibooksa angielskiego}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:29, 6 lip 2025 (CEST) == Filtr naduzyc "Styl do sprawdzenia", == Hej, bardzo wrazliwy ten filtr ... Troche nadwrazliwy. A czy mozna te filtry zmeinic tak, by pozwolily zapisac edytowana strone, a uwagi umiescic na stronie jako "Dopracowac"? Z konkretna informacja, co i gdzie jest zle? Jak znalazles, ze to akurat "warto dodac" sie filtrowi nie podoba. I dlaczego? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:53, 7 lip 2025 (CEST) * {{Ping|EdytaT}} Dzięki wyrażeniom regularnym i operacjom na łancuchach znakowych! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:55, 7 lip 2025 (CEST) == Filtry nadużyć - przeszkadzaja w uzupelnianiu podrecznikow == Hej - jest problem z filtrami naduzyc, ktore w dalszym ciagu nie pozwalaja zapisywac nowych stron lub zmian w istnieniacych stronach. Rozumiem, ze czasy sie zmieniaja i to, co kiedys bylo ok teraz jest juz nie jest. Ale to czyni edytowanie bardzo uciazliwym lub wrecz niemozliwym, a tak nie moze byc. Ostatni przyklad to uniemozliwienie utworzenia strony "Tworzenie Ekoogrodnictwo/Rośliny użytkowe/Bazylia" przez filtr naduzyc, ktoremu nie podobaja sie tabelki. Ok, ale to jest strona skopiowana (Ctrl+c) i wstawiona (Ctrl+v) z istniejacej strony o pietruszce i dopasowaniu tego, co aktualnie chce napisac w tworzonej stronie o bazylii. Nie interesuje mnie, jaki format ma tabelka zywcem skopiowana z istniejacego artykulu i wcale nie mam zamiaru zajmowac sie formatowaniem tej tabelki. Interesuje mnie tylko dopasowanie jej zawartosci. Czy "Znaczniki przestarzałe (font, tt, strike, center)", czy nie, to nie jest w tym momencie moja sprawa. Uwazam, ze jak najbardziej filtr ma prawo podac mi informacje, ze te znaczniki sa przestarzale, ale absolutnie nie moze zabronic mi utworzenia tej strony. Czy mozna cos z tym zrobic? Pozdrawiam. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:06, 18 lip 2025 (CEST) * {{Ping|EdytaT}} Przepiszę kod na szablonu używając tabelki {{s|Tabela}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:12, 18 lip 2025 (CEST) ** {{Ping|EdytaT}} Dla chcącego nie ma nic trudnego, wikitabelka za pomocą szablonów, to lepiej wygląda niż niskopoziomowa tabelka wikikodu.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:38, 18 lip 2025 (CEST) == Dla chcącego nie ma nic trudnego ... == Hej, to prawda, ale problem jest wtedy, kiedy nawet by sie chcialo i teoretycznie moglo, ale to nie jest odpowiedni moment! Filtry nie powinny uniemozöiwiac zapisania mojej praktycznie poprawnej edycji! Dziekuje za wprowadzenie zmian. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:05, 18 lip 2025 (CEST) * {{Ping|EdytaT}} Znacznik {{Tag|center}} jest '''zdeprecjonowany''' w ''HTML'', czyli wycowywany z użycia! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:11, 19 lip 2025 (CEST) == Filtr nadużyć – odrzucanie edycji w kursie [[Teoria grup przemiennych]] == Tak jak w tytule. Wprowadzam trochę wzorów za pomocą TeX-a i&nbsp;podgląd wygląda normalnie, ale niestety edycja jest odrzucana. Mogę to wkleić tutaj: Strukturę grupy przemiennej można wzbogacać na różne sposoby – nie tylko przez relację porządku. Innym sposobem jest drugie działanie dwuargumentowe: <math>G^2\to G.</math> Trudno, żeby zbiór <math>G</math> był grupą przemienną ze względu na oba działania, ale zdarza się coś podobnego. Można się przyjrzeć liczbom wymiernym <math>(\mathbb{Q}):</math> * ze względu na dodawanie są grupą przemienną <math>(\mathbb{Q},+);</math> * nie są grupą ze względu na mnożenie, ponieważ zero nie jest tu odwracalne – równanie liniowe <math>0x = 1</math> nie ma rozwiązań; * po wycięciu zera z dziedziny zbiór <math>(\mathbb{Q}_{\neq 0},\cdot)</math> istotnie jest grupą przemienną. [[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 22:42, 24 lip 2025 (CEST) :Tekst powyżej jest akceptowany i już przeszedł ale odrzucany jest kod zwykłego pogrubienia tablicowego liter R i C, przez \mathbb. [[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 22:52, 24 lip 2025 (CEST) : {{Ping|Tarnoob}} Już naprawiłem twój problem ze znacznikiem {{Tag|MATH}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:17, 25 lip 2025 (CEST) == [[Siewki roślin uprawianych w Polsce/Mydleńcowate]] == Te filtry nadużyć uniemożliwiają normalne edytowanie. Naprawdę chcesz, żeby wszyscy zrezygnowali z jakiejkolwiek działalności na Wikibooks? Bo ja tu już więcej nie wejdę... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:26, 24 sie 2025 (CEST) : {{Ping|Salicyna}} Ja rozumiem twoje rozgoryczenie, ale nikt nie jest doskonały. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:41, 24 sie 2025 (CEST) :: {{Ping|Salicyna}} A przy okazji usunąłem twój błąd. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:43, 24 sie 2025 (CEST) ::: Jaki błąd? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:45, 24 sie 2025 (CEST) ::: {{Ping|Salicyna}} Błąd, który uniemożliwił twoje zapisanie edycji. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:48, 24 sie 2025 (CEST) ::::Możesz więc mi wyjaśnić, jaki błąd popełniłam? Bo nie widzę żadnej twojej edycji poprawiającej coś w tym haśle po tym jak do ciebie napisałam. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:51, 24 sie 2025 (CEST) ::::: {{Ping|Salicyna}} Był błąd w filtrach nadużyć. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:53, 24 sie 2025 (CEST) ::::: {{Ping|Salicyna}} Teraz możesz zapisać swoją edycję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:04, 24 sie 2025 (CEST) == Wkład użytkownika Świętokrzyskie3 do usunięcia == Hej, niestety hasła utworzone przez Świętokrzyskie3 są moim zdaniem do usunięcia. Wszystkie. Zajrzałam do wielu z nich i stwierdziłam, ze są skopiowane z innych stron internetowych i nie są autorstwa tego użytkownika. Wobec tego należy je usunąć, ponieważ takie edycje są niezgodne z prawem autorskim. Nawet próba przejrzenia tych haseł (niewykonalna) nie zmieniłaby faktu, że są one kradzieżą intelektualną. Proszę napisz, czy możesz to zrobić "za jednym zamachem"? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:44, 25 wrz 2025 (CEST) : {{Ping|EdytaT}} Skasować wszystkie artykuły książki kucharskiej tego użytkownika, i sprawdzić jego dalszy dorobek! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:43, 25 wrz 2025 (CEST) :: {{Ping|EdytaT}} Sprawdź użytkownika [[Specjalna:Wkład/Snd125671]] i jego artykuły książki kucharskiej! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:30, 25 wrz 2025 (CEST) : {{Ping|EdytaT}} Już usunąłem podejrzane artykuły książki kucharskiej użytkowników: [[Specjalna:Wkład/Świętokrzyskie3]] i [[Specjalna:Wkład/Snd125671]]! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:36, 26 wrz 2025 (CEST) ::Dziekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:53, 26 wrz 2025 (CEST) == . == Cześć. Dlaczego usuwasz poradniki kulinarne? [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:45, 25 wrz 2025 (CEST) :{{Ping|Igor123121}} Sprawdź, poprzedni rozdział! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:48, 25 wrz 2025 (CEST) :Aha rozumiem - to wkład [[Specjalna:Wkład/Snd125671|Snd125671]] - ale wiesz, że nie musisz wszystkiego ręcznie usuwać tylko na górze masz funkcję"masowe usuwanie", która pozwwala wszystko usunąć błyskawicznie? [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:48, 25 wrz 2025 (CEST) ::{{Ping|Igor123121}} Chodzi mi o edycje: [[Specjalna:Wkład/Świętokrzyskie3]], a [[Specjalna:Wkład/Snd125671]] trzeba sprawdzić, a masowe usuwanie jest do ostatnich 90 dni! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:52, 25 wrz 2025 (CEST) == Automatyczne zablokowanie moich zmian == Witam, piszę podręcznik "Matematyka dla ostatnich klas szkoły podstawowej". Napotkałem się na problem z automatycznym systemem odrzucania edycji. "Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Linie z tylko wielkimi literami" Linia ta zawiera liczby w systemie rzymskim, wygląda następująco: <code>| &#39;&#39;&#39;XLVII&#39;&#39;&#39;&lt;br/&gt;(50 - 10) + 7&lt;br/&gt;40 + 7&lt;br/&gt;47 || &#39;&#39;&#39;MCMXCIX&#39;&#39;&#39;&lt;br/&gt;1000 + (1000 - 100) + (100 - 10) + (10 - 1)&lt;br/&gt;1000 + 900 + 90 + 9&lt;br/&gt;1999 || &#39;&#39;&#39;MMMCMXCIX&#39;&#39;&#39;&lt;br/&gt;3000 + (1000 - 100) + (100 - 10) + (10 - 1)&lt;br/&gt;3000 + 900 + 90 + 99&lt;br/&gt;3999</code> Uprzejmie proszę o możliwość zatwierdzenia tego rodzaju treści lub wskazanie sposobu, aby linie z liczbami rzymskimi nie były automatycznie odrzucane. Z góry dziękuję za pomoc. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 15:28, 27 wrz 2025 (CEST) : {{Ping|YxiCode}}Już możesz edytować! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:52, 27 wrz 2025 (CEST) ::Dziękuję bardzo :)) [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 19:26, 27 wrz 2025 (CEST) ::@[[Wikipedysta:Persino|Persino]]Znów otrzymałem błąd: ''Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Powtarzające się ciągi znaków w linii wikitekstu'' [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 20:02, 27 wrz 2025 (CEST) :: {{Ping|YxiCode}} Już możesz edytować.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:05, 27 wrz 2025 (CEST) == Opisy operacji == Cześć! Dostrzegam Twój ogromny wkład w działaniach administracyjnych na Wikibooks. Pragnę jednak zaznaczyć, że każda operacja (blokada, ukrycie wersji) powinno zostać ukryte krótkim opisem (Niecenzuralne słownictwo itp.), ponieważ znacznie ułatwia to śledzenie zwykłym użytkownikom, nie adminom. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:53, 29 wrz 2025 (CEST) :PS Pamiętaj, że zgodnie ze standardem blokujemy konta tymczasowe na maksymalnie 90 dni. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:02, 29 wrz 2025 (CEST) == Filtry nadużyć == Cześć. Ostatnio tworzę artykuły o potrawach, jednak niestety często spotykam się z nadgroliwością filtrów nadużyć. Filtr całkowicie blokuje dodanie cyrlicy, co jest bardzo utrudniające w przypadku np. ilustrowaniem wersją zdjęcia pochodzącą z Rosji i tym samym napisaną cyrlicą. Np. https://commons.wikimedia.org/wiki/File:%D0%93%D1%80%D0%B5%D1%87%D0%BD%D0%B5%D0%B2%D0%B0%D1%8F_%D0%BA%D0%B0%D1%88%D0%B0_%D1%81_%D0%BC%D0%BE%D0%BB%D0%BE%D0%BA%D0%BE%D0%BC.jpg [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:40, 13 paź 2025 (CEST) :{{Ping|Igor123121}} Już możesz edytować! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:45, 13 paź 2025 (CEST) ::W wolnej chwili zachęcam do sprawdzenia maila, którego Ci wysłałem i ewentualnego odpowiedzenia na niego tam ;) ::Dobrego wieczoru, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:08, 13 paź 2025 (CEST) ::Wymieniłem szablony fotografii. Dziękuje za wskazówki! ::Pozdrawiam, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:43, 14 paź 2025 (CEST) :: {{Ping|Igor123121}} Co to znaczy wymienić fotografie, a może chodzi ci o podpisanie rysunków w ich opisach!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:02, 15 paź 2025 (CEST) :: {{Ping|Igor123121}} Rysunki powinny być podpisane logicznie. W tekstach artykułów ma być odpowiednie formatowanie!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:06, 15 paź 2025 (CEST) :: {{Ping|Igor123121}} W swoich edycjach nie stosuj elementów prowokacyjnych, jak chcesz być administratorem!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:13, 15 paź 2025 (CEST) :::@[[Wikipedysta:Persino|Persino]] przepraszam ale nie bardzo rozumiem o jakie elementy chodzi. Jeżeli mógłbyś sprecyzować o który element chodzi to byłbym bardzo wdzięczny. :::Dobrego dnia. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 08:38, 15 paź 2025 (CEST) :::@[[Wikipedysta:Persino|Persino]] jeżeli dodałem jakiś element prowokacyjny to przepraszam nie miałem takiego zamiaru i nie będę miał takowego w przyszłości. Jeżeli jednak mógłbyś podać o jaki element ci chodzi to będę bardzo wdzięczny. wdzięczny. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 08:44, 15 paź 2025 (CEST) :::{{Ping|Igor123121}} Np. pod rysunkiem usuwałeś puste linie, czasami był opis rysunku jako "To jest opis"! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:52, 15 paź 2025 (CEST) ::::@[[Wikipedysta:Persino|Persino]] już ruszam z wyjaśnieniem, bo już rozumiem o co chodzi w Twoich zarzutach :) ::::# Gdy zmieniałem ręcznie napisany <nowiki>[[Plik:]]</nowiki> na <nowiki>{{plik}}</nowiki> w moich artykułach (tak jak mnie prosiłeś wczoraj) to wysłałeś mi wzór jak to robić: {{[[Szablon:Plik|Plik]]<nowiki>|plik=Rumfordsuppe.jpg|ramka=mały|rozmiar=200px|pozycja=prawo|opis=To jest opis}} (</nowiki>[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty:Igor123121&diff=prev&oldid=515771 tutaj diff]). Kopiowałem go i wklejałem do artykułów i wpisywałem nazwę zdjęcia z Wikimedia Commons, która była obecna w tamtejszym [[Plik:]]. Zdarzyło mi się zapomnieć zmienić opisu, więc zostało wzorcowe ''to jest opis'' zamiast nazwy potrawy. Wiec, że nie zrobiłem tego celowo w innych poprawkach zmieniałem nazwę opisu, jednak kilka razy omyłkowo o tym zapomniałem. ::::# Nie wiedziałem, że te puste linię na początku wikitekstu są potrzebne, bo bez nich szablon również działał poprawnie. Dziękuję, że mnie uświadomiłeś, na przyszłość nie będę ich kasował. ::::Mam nadzieje, że wytłumaczyłem swoje edycje i, że w żadnym wypadku nie były one prowokacjami wobec społeczności. Uprzejmie proszę o odpowiedź czy dokładnie rozumiesz moją odpowiedź. Przepraszam za zamieszanie. Nigdy nie mam zamiaru prowokować społeczności, chcę rozwijać Wikibooks razem z Tobą i EdytąT. ::::Z pozdrowieniami, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 14:03, 15 paź 2025 (CEST) ::::{{Ping|Igor123121}} Każdy popełnia błąd, nawet ja, było, minęło i koniec. Rozumiem twoją wypowiedź. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:09, 15 paź 2025 (CEST) :::::Zachęcam do rzucenia okiem: [[Wikibooks:Przyznawanie uprawnień/Igor123121]] :::::Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:13, 16 paź 2025 (CEST) ::::::Cześć! Czy wszystko jest w porządku z szablonami? Głosowanie zakończyło się wczoraj a dalej wyświetla się jako '''''Głosowanie trwa''''' ::::::[[Wikibooks:Przyznawanie uprawnień/Igor123121]] ::::::Pozdrawiam! Jeśli się uda zaaktualizować status to wyślę zgłoszenie do Stewarda, ponieważ nie mamy już tutaj biurokratów jak kiedyś. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 06:31, 24 paź 2025 (CEST) :::::: {{Ping|Igor123121}} Już teraz wszystko jest w porządku, trzeba było zapisać pustą edycję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:05, 24 paź 2025 (CEST) == odp. Zamienianie linków wewnętrznych na zewnętrzne robiące to samo == Hej, napisales, ze zeby utworzyc link do wikipedii, to "... wystarczy napisac <nowiki>[[w:Wikipedia: ...</nowiki>" Do tej pory wystarczalo napisac "... <nowiki>[[w: ...</nowiki>". I nigdzie nie ma zadnej informacji na temat linkowania wewnetrznego. Wlasnie przegladalam ''Wikibooks:Zasady_i_wskazówki'', ''Pomoc:Spis_treści'', ''Technikalia'' - bez skutku. Prosze, nie pisz mi, ze wystarczlo sprawdzic pod ''xxx.yyy.zzz/1234''. Mamy w wikibooks niesamowite ilosci niepotrzebnego tekstu, ale konkretnej pomocy - brak. Tzn. np. na stronie "Pomoc" - spis tresci - punkt linki wewnetrzne - podpunkt Wikipedia - przyklad linkow (kiedy samo w:, a kiedy w:wikipedia). Edytujac teksty nie chce sie tracic czasu na mozolne wyszukiwanie szablonow, trickow i innych cudow, o ktorych wcale nie chce wiedziec, ze one istnieja. Dlatego poprawie te linki jak mowisz, ale mam prosbe: czy moglbys zdecydowanie uproscic teksty pomocy dla zwyklych, niezainteresowanych technikaliami edytorow? Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:22, 17 paź 2025 (CEST) : {{Ping|EdytaT}} {{Code|w:}} to kod polskiego projektu {{NAZWASERWISU|link=tak|klucz projektu=w}}, a {{Code|Wikipedia:}} to przestrzeń nazw na polskiej '''Wikipedii'''. Dlatego wcześniej było dobrze, bo ten artykuł znajdował się w przestrzeni głównej, lub jego przekierowanie, który z przestrzeni głównej linkował do przestrzeni projektu {{Code|Wikipedia:}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:29, 17 paź 2025 (CEST) == Linki do wikislownika == Hej, mam prosbe odnosnie linkow do wikislownika: otoz hasla tam tworzone sa m.in. "case sensitive". Z jezykoznawczego/gramatycznego/ortograficznego punktu widzenia jest to sprawa niezwykle wazna. Czy moglbys w szablonie linku do wikislownika usunac zmiane podanego w parametrach slowa na pisownie dokladnie taka, jak podaje parametr? Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 10:17, 23 paź 2025 (CEST) ::: Aby wyglad tego slowa "na zewnatrz" dokladnie odpowiadal wygladowi tego slowa w szablonie linku do wikislownika po znaku pipe "|". To znaczy uzylam szablonu {{s|Wikisłownik|endonim}}, kliklnelam na "zapisz zmiany" i w efekcie widze tekst "Zobacz hasło endonim w Wikisłowniku". :::: Aaaa! Wlasnie widze, ze jest ok. Dziekuje. :[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 11:09, 23 paź 2025 (CEST) : {{Ping|EdytaT}} Aby słowa były pisane od małej litery? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) :Hej, jednak jeszcze minelismy sie myslami. Piszac, ze wikislownik jest "case sensitive" mialam na mysli, ze jezeli po "|" slowo jest napisane mala litera, to ma tak zostac, a jezeli duza, to tez ma tak zostac. Bo np. "jabłko" w jezyku polskim jest pisane mala litera, a "Polska" duza. I dokladnie tak ma to wygladac "na zwenatrz", to znaczy po zapisaniu edycji. Czyli "Zobacz hasło jabłko w Wikisłowniku", "Zobacz hasło gruszka w Wikisłowniku", "Zobacz hasło Polska w Wikisłowniku", "Zobacz hasło Müller w Wikisłowniku" itd. == "prowokujące" opisy zmian w języku angielskim == Witaj, mnie uczono, że opis zmian ma przedstawiać, jakich zmian się dokonało. Czy napisanie (już odpuszczając sobie fragment tekstu piosenki), że ''Użytkownik Dynajtłymet podmienia tabelkę na normalną oraz standaryzuje treść zgodnie z dzisiejszymi normami stylistycznymi'' jest prowokujące? Dla mnie to opisowa forma przedstawiająca, co zrobiłem. Jeżeli uważasz inaczej, napisz - będziemy dyskutować, aż dojdziemy do kompromisu. Take me back to the night we met! [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:46, 26 paź 2025 (CET) : {{Ping|Dynajtłymet}} Tylko nie pisz na końcu opisu zmian takiego tekstu jak: '''Take me back to the night we met!'''! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:50, 26 paź 2025 (CET) ::Co jest złego w mojej ulubionej piosence? Lord Huron to nie kampania zwiększania ilości samobójstw. [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:51, 26 paź 2025 (CET) ::: {{Ping|Dynajtłymet}} Opis zmian ma być neutralny! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:54, 26 paź 2025 (CET) ::::A co, mój opis zmian nie jest neutralny? Będę robił taką samą neutralność jak wy. ::::https://pl.wikinews.org/w/index.php?title=Polski_Zwi%C4%85zek_Esperantyst%C3%B3w_uruchamia_cyfrowe_archiwum_na_wolnej_licencji&oldid=383085 - czy TO jest neutralne? ::::A może wzorcem neutralności będzie twoje usuwanie wszystkiego i wszystkich bez rozróżnienia co i jak? ::::Konkluzja? Inni mogą pisać "nie ma sensu wspominać tego człowieka", ja mogę pisać jedną linijkę swojego ulubionego tekstu. ::::[[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:59, 26 paź 2025 (CET) ::::: {{Ping|Dynajtłymet}} Neutralny punkt widzenia, nie ja to wymyśliłem, tylko wikipedyści! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:03, 26 paź 2025 (CET) ::::::Rozumiem i znam filary Wikipedii i jej siostrzanych projektów - ale czy nie widzisz tutaj po prostu zwyczajnej, ludzkiej hipokryzji? ::::::Ja widzę i to ogromną. Znam tego wandala osobiście. ::::::Zastosuję się do zasad, ale pod warunkiem, że ktoś zajmie się wreszcie transparentnością Wikipedii i jej projektów siostrzanych. I mogę to być nawet ja. ::::::Take me back to the night we met. [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 10:06, 26 paź 2025 (CET) == Odpowiedz - uprawnienia administratorskie == Witaj złożyłem wniosek na Meta do stewardów, jednak ciągle oczekuje na rozpatrzenie https://meta.wikimedia.org/wiki/Steward_requests/Permissions#Igor123121@plwikibooks Ale to nic nadzwyczajnego niektóre wnioski czekają znacznie dłużej, trzeba być cierpliwym. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 16:46, 26 paź 2025 (CET) :Witaj. Otrzymałem dzisiaj uprawnienia na 3 miesiące. Za 3 miesiące otworze kolejną dyskusję, przed wygaśnięciem. Niestety ale takie są zasady, że przy małych projektach trzeba najpierw przyznać kilka razy uprawnienia na czas tymczasowy. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 14:11, 28 paź 2025 (CET) == Naruszenia praw autorskich na Wikibooks == Witaj. Piszę informacyjnie - dzisiaj otrzymałem przyznane mi przez Was (dziękuję!) uprawnienia administratora. Dokończyłem sprzątanie naruszających prawa autorskie przepisów użytkownika [[Specjalna:Wkład/Snd125671|Snd125671]](bo nie wszystkie były naruszeniem), więc wydaje się, że raz na zawsze udało nam się uporać z tymi naruszeniami w książce kucharskiej. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:37, 28 paź 2025 (CET) == Storing user properties == Hi, Sorry for English. We are getting a lot warnings in our infrastructure because your account is holding 18K user properties rows which seems to be added via [[Wikipedysta:Persino/Gadget-DodatkiSubst.js/Skrypt.js]]. This is putting an undue load on the infrastructure and soon we will be adding a limit on number of rows a user can store. You can use local storage in your device instead of wikimedia servers to store these information. It would be great if you remove those rows (guideline: [[phab:T408733#11324972]]). See [[phab:T408733]] for more information. If you have any questions, feel free to contact me. Thanks! [[Wikipedysta:ASarabadani (WMF)|ASarabadani (WMF)]] ([[Dyskusja wikipedysty:ASarabadani (WMF)|dyskusja]]) 12:13, 30 paź 2025 (CET) :Hej, widzę, że już przerobiłeś swój skrypt. Dzięki za szybką reakcję :) [[Wikipedysta:Matma Rex|Matma Rex]] ([[Dyskusja wikipedysty:Matma Rex|dyskusja]]) 22:55, 30 paź 2025 (CET) == Odp. == Wydaje mi się, że wszystkie linkujące poprawiłem, jednak jeżeli mógłbyś uczynić dokładne sprawdzenie tego to byłbym ogromnie Ci wdzięczny. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:26, 31 paź 2025 (CET) :@[[Wikipedysta:Persino|Persino]] oczywiście wiem, czym są linkujące, bez przesady, aż tak źle nie jest ;) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:30, 31 paź 2025 (CET) ::@[[Wikipedysta:Persino|Persino]] dobrze spróbuje samodzielnie, nie wściekaj się na mnie, chce dobrze :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:33, 31 paź 2025 (CET) :::@[[Wikipedysta:Persino|Persino]] chyba wszystko się udało, wszystkie wzmianki i szablony o gimnazjum wymieniłem :) Bardzo Ci dziękuję za całą pomoc, którą mi udzielasz. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:27, 31 paź 2025 (CET) == "https://pl.wikibooks.org/wiki/Kategoria:Ksi%C4%85%C5%BCka_kucharska/Spis_alfabetyczny" vs "https://pl.wikibooks.org/w/index.php?title=Ksi%C4%85%C5%BCka_kucharska/Alfabetyczny_spis_potraw" == Hej, tę kategorię rozumiem i popieram. Ale czy potrzebna jest ta inna strona? Bo po pierwsze to w zasadzie duplikat, a po drugie chyba wymaga ciągłej manualnej aktualizacji. Czy sie myle? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:41, 12 lis 2025 (CET) : {{Ping|EdytaT}} Lepsza jest spis kategoria niż spis artykuł, jak tak myślę!? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:45, 12 lis 2025 (CET) == Prosba o wyjasnienie == Hej, klikajac na "Ostatnie zmiany" pojawia sie kilka naglowkow, m.in. "Ksiazki: nowe - krótkie - porzucone - Poczekalnia - Ekspresowe kasowanie - logi". I np. wsrod "porzuconych" znajduje sie przepis "[[Książka_kucharska/Zupa_z_dyni]]". To fakt, ze do tej strony (jak i chyba do wiekszosci przepisow) zadna strona sie nie odwoluje. Ale to przeciez nie znaczy, ze jest "porzucona". Czy to nie jest nieporozumienie? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:29, 14 lis 2025 (CET) :{{Ping|EdytaT}} To nie znaczy, że jest do końca porzucony, wystarczy edytować ten artykuł! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:38, 14 lis 2025 (CET) :: {{Ping|EdytaT}} Do tych stron nie odwołuje się żadna inna strona, jedynie kategorie, ale to nie jest nieporozumienie... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:42, 14 lis 2025 (CET) == Prosba o pomoc, jak poddac cos pod glosowanie nad usunieciem. == Hej, naprawde nie wiem, jak to zrobic - tak po prostu - kliknac na cos na stronie glownej (ale na co, bo jak klikne na poczekalnie, to jestem kompletnie zagubiona), gdzie mozliwie na samej gorze bedzie tekst typu "Zglos strone/podrecznik czy cokolwiek do usuniecia", a potem (albo od razu, bez dalszego przeklikiwania) bede mogla podac co proponuje usunac, dlaczego i ze prosze o glosowanie w ciagu 7 (albo wiecej) dni. Moim aktualnym kandydatem jest [https://pl.wikibooks.org/wiki/Szkice_helweckie_W%C5%82adys%C5%82awa_Tarnowskiego_z_komentarzem]. Pomoz prosze! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 19:08, 18 lis 2025 (CET) == Ta akcja została automatycznie zidentyfikowana jako szkodliwa == Witam, edytuję [[Matematyka dla ostatnich klas szkoły podstawowej/Przekątna kwadratu i wysokość w trójkącie równobocznym]] i wyświetla mi się: ''Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Kontekstowa analiza tekstu w poszukiwaniu wandalizmów w wikitekście'' Proszę o zatwierdzenie zmian. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 16:34, 27 lis 2025 (CET) :Problem już się rozwiązał, dziękuję. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 16:39, 27 lis 2025 (CET) == Szablony dla przypisow == Hej, chcialabym bardzo miec do dyspozycji kilka szablonow dla linkow do zrodel dla (grup) podrecznikow. Czy mozna cos takiego zrobic? Np: *nazwa szablonu: Szablon:Ziel_Panacea *zawartosc: https://www.https://panacea.pl/ i tutaj po znaku "|" parametr z dowolnym dodatkiem url , np: tymianek-2 i *po nastepnym po znaku "|" co ma byc widoczne dla czytelnika: ''Tymianek'' w: Panacea.pl *po nastepnym znaki "|" parametr z info o autorze, dacie publikacji, np. , Dział Rozwoju, Labofarm, 11.08.2025, *a na koncu "dostęp" + automatycznie dzisiejsza data 06.12.2025 *i po kliknieciu laduje tu: [https://panacea.pl/tymianek-2/] : albo: nazwa szablonu: Szablon:Pszcz_Pasieka24 zawartosc: [https://pasieka24.pl/index.php/pl-pl/pasieka-czasopismo-dla-pszczelarzy/ i tutaj po znaku "|" dowolny dodatek, np: 260-pasieka-5-2024 i *po nastepnym po znaku "|" co ma byc widoczne dla czytelnika: ''Pasieka 5/2024'' w: Pasieka24.pl *po nastepnym znaki "|" parametr z info o ewent. autorze, ewent. dacie publikacji i dostepnosci, np. , *a na koncu "dostęp" + automatycznie dzisiejsza data 06.12.2025 *i po kliknieciu laduje tu: [https://pasieka24.pl/index.php/pl-pl/pasieka-czasopismo-dla-pszczelarzy/260-pasieka-5-2024] [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:37, 6 gru 2025 (CET) ** Hej, dziekuje po raz pierwszy w tym temacie :) , ale moze bede mogla jeszcze raz podziekowac, jezeli: :* zobacz tu (ref z szablonem i widok przypisu): [https://pl.wikibooks.org/wiki/Napary/Macierzanka_tymianek] :* a chcialabym, zeby widok przypisu byl taki: panacea.pl, Dział Rozwoju Labofarm, ''Tymianek'', 11.08.2025 (dostęp: 07.12.2025). gdzie: # panacea.pl - to nazwa strony, czyli pierwsza czesc nazwy strony (https://panacea.pl/) wraz z dodatkiem tymianek-2, czyli podstrona, ktora wstawiam jako parametr w szablonie (jako podstrona, ale brzmienie tego parametru nie ma byc widoczne) ## i teraz strzalka linkujaca. # Dział Rozwoju Labofarm - to autor, ktorego wstawiam opcjonalnie jako kolejny parameter (autor=) # ''Tymianek'' - to tytul, ktory wstawiam jako kolejny parametr (tytul=) # 11.08.2025 - to data publikacji, ktora wstawiam opcjonalnie jako kolejny parametr (publ=) # (dostęp: 07.12.2025) - to data dostepu, generowana automatycznie przez szablon (z dzisiejszej daty). Chyba ze zapisanie jekiejkolwiek zmiany w artykule (niezwiazanej z tym przypisem) powodowaloby zmiane tej daty. To wtedy i te date musialabym wstawiac sama. :* Jezeli mozna, to wole parametry "nazwane" od "pozycyjnych". Hej, zastosowalam te szablony na dwoch stronach: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Ro%C5%9Bliny/Bluszcz] i tu [https://pl.wikibooks.org/wiki/Napary/Macierzanka_tymianek]. Czy moglbys jeszcze troche zmienic "dostep" na "dostęp " i tu dzisiejsza data w formacie dd.mm.yyyy. To wtedy ucieszylabym sie z przeniesienia tych szablonow z brudnopisu do "prawdziwych" szablonow. Wtedy dopasuje to na tych dwoch stronach. Dziekuje. * Hej, nie chcialabym byc namolna, ale ... jeszcze dwie prosby: czy da sie zmienic formatowanie "dostepu" na date zapisania edycji w formacie dd.mm.yyyy? I druga prosba: czy po kliknieciu w link moglby sie on ontwierac w nowej karcie? A poza tym perfekt. Jestes wielki. Dziekuje i pozdrawiam serdecznie. == Szablon linku dla ksiazki online jako zrodla - mozesz pomoc? == Hej, czy mozesz poprawic moja nieudana probe stworzenia przypisu i zalazku szablonu do ksiazki online? Ten zalazek szablonu to Szablon:Pszcz_FeA, a link do tego szablonu probowalam zrobic na stronie [[Pszczelarstwo/Rośliny]], ale mi nie wyszlo ... [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:46, 9 gru 2025 (CET) == Szablony linkow do czasopism jako zrodel - male nieporozumienie == Hej, chcialabym napisac, jakie sa moje zamiary, zaczne od poczatku: # Pisales kiedys, żeby raczej nie uzywac linkow zewnetrznych do zrodel, poniewaz te zrodla szybko przestaja byc aktualne i dostepne - zgadzam sie z tym w 100 procentach, wiec: # Poniewaz czasem takie zrodla sa bardzo sensowne, bo kieruja do wynikow badan naukowych i publikacji specjalistow, ktorych inaczej nie da sie uwiarygodnic. # Ergo: potrzebna jest taka metoda zrodel, ktora w nieskomplikowany sposob pomoze od czasu do czasu te zrodla uaktualnic (najczesciej inny adres strony internetowej lub wymiana na inne zrodlo) # Moim zdaniem - najlepiej przez szablony, poniewaz: ## Zmiane przeprowadza sie w jednym miejscu i obsluguje sie tym samym wieksza ilosc artykulow w wikibooks ## Waznym jest, by wiedziec, gdzie te szablony zostaly uzyte, a do tego sluzy najwygodniesza dla mnie metoda: klikam na strone szablonu, a potem na "linkujace". ## I tutaj nieporozumienie: wycielam w tych szablonach linki do wpisanych przez ciebie "ZObacz tez: Tematyczne oraz Inne, poniewaz w wyniku dla "linkujacych" one sie pokazja i informacja "ktore strony linkuja (uzywaja) tego szablonu" staje sie bezuzyteczna. Aby naprawde dowiedziec sie, gdzie ten szablon zostal uzyty, jestem zmuszona do klikania we wszystkie wyniki wyszukiwania, by sie dowiedziec, ze w tam nic nie ma, ze te szablony sa tam tylko po to, zeby byc. Wartosc informacji zerowa, czas stracony na te prodedure duzy. # Dlatego prosze cie, zebys uznal moje edycje usuwajace uzycie tych szablonych w innych szablonach, ktore z tym szablonem merytorycznie nie maja nic wspolnego. # Natomiast kategoryzacyjnie postanowilam pogrupowac te zrodla alfabetycznie (Szablony:Pszcz_... dla podrecznika pszczelarstwa, szablony: Ziel_... dla podrecznika/podrecznikow zielarskich). Tym sposobem, klikajac na kategorie tych szablonow, uzyskujesz informacje, ktore spelnia te sama role jak "zobacz tez", ale bez negatywnych skutkow ubocznych. Jejku, ale sie rozpisalam. Czy to w ogole oddaje sens tego, o czym mysle? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:16, 11 gru 2025 (CET) == Szablony do czasopism jako zrodel - czy mozliwe sa jeszcze pewne uzupelnienia? == Hej, czy mozna jeszcze troche pouzupelniac te szablony? Np. Szablon:Pszcz_Pasieka24: * teraz jest: podstrona=|nazwa=|autorzy=|czasopismo=|opublikowany=|dostęp= * lepszy bylby odpowiednik takiego ref: # refname=staly element szablonu taki sam jak nazwa szablonu # refnr=''opcjonalnie dodatek, jezeli ten szablon jest wykorzystany w artykule wiecej razy z innymi podstronami'' # autorzy=''opcjonalnie nazwiska autorow'' # strona=staly element szablonu, tzn. adres strony glownej # podstrona=''opcjonalnie podstrona (bo moze informacja jest juz na stronie glownej) # tytul=''tytul/tekst do pokazania wraz z symbolem "link"'' # czasopismo=staly element szablonu z nazwa czasopisma, ktora jest dla tego szablonu niezmienna, ale w zaleznosci od szablonu moze byc pusta # numer=''opcjonalnie numer zeszytu'' # wydawca=staly element szablonu, ktory w zaleznosci od szablonu moze byc pusty # miejscewydania=staly element szablonu, ktory w zaleznosci od szablonu moze byc puste # rokwydania=''opcjonalnie rok wydania'' # dostep=automatyczny dodatek (dostep dd.mm.yyyy) [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:39, 11 gru 2025 (CET) == Odp == Cześć. Nie plagiat, nie biorę ich z internetu ani nie przepisuje papierowych. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:31, 13 gru 2025 (CET) :Dziękuję serdecznie za przydatne rady, będę miał je w głowie. Pozdrawiam [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:35, 13 gru 2025 (CET) == Pytanie do: "Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon" == Hej, w szablonie "przypis strony" w sekcji "Jak tworzyć szablony szczególne szablonu w oparciu o ten szablon" sa takie dwie linijki, ktore wygladaja na ogolny sposob tworzenia szablonow do zrodel czasopism. Widze tam miejsce, gdzie mozna podac konkretna nazwe strony (adres=https://.....). Ale nie wiem, gdzie umiescic dalsze "stale" parametry: "czasopismo=" (tzn. jak dla tego czasopisma ma byc pokazany jego tytul), "issn=" oraz "wydawca?". Mozesz mi wyjasnic? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 16:29, 14 gru 2025 (CET) == Dlaczego nie widac nazwisk autorow w przypisie? == Hej, no nie wiem. Dlaczego tu: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Biologia/Kom%C3%B3rka] nie widac nazwisk autorow w przypisie (autorzy=Beata Bąk, Maciej Siuda, Jerzy Wilde)? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 22:06, 14 gru 2025 (CET) == Odp. == Cześć! Zaskoczyłeś mnie - myślałem, że wszystkie podręczniki są na tej samej licencji. Ale jeżeli można wybrać to najbardziej preferuje CC-BY-4.0 [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:04, 18 gru 2025 (CET) :Po obejrzeniu przykładu samodzielnie opatrzyłem podręczniki tymże szablonem :[https://pl.wikibooks.org/w/index.php?title=Etyka_dla_szko%C5%82y_podstawowej&diff=prev&oldid=528107 diff] [https://pl.wikibooks.org/w/index.php?title=Wychowanie_do_%C5%BCycia_w_rodzinie&diff=prev&oldid=528106 diff] [https://pl.wikibooks.org/w/index.php?title=Przyroda&diff=prev&oldid=528105 diff] [https://pl.wikibooks.org/w/index.php?title=Edukacja_zdrowotna&diff=prev&oldid=528104 diff] :Jeżeli chcesz to możesz sprawdzić ewentualnie poprawność wprowadzonych szablonów. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:22, 18 gru 2025 (CET) == Znacznik == Skąd i dlaczego raptem znacznik <<styl do sprawdzenia>> w poprawianym przeze mnie [[Książka kucharska/Kugel|haśle]] Książki kucharskiej? Nie rozumiem, czemu ten komunikat generuje jakieś "oprogramowanie" (a nie konkretna osoba) i o co właściwie tu chodzi wobec braku konkretnego wskazania/wskazań. Jaka sytuacja wywołuje taką adnotację dla danej edycji? Dotąd nie spotykam się z podobnymi uwagami, tym bardziej, że to raczej mnie od kilkudziesięciu lat przypada poprawianie cudzego stylu i języka. Czy mógłbyś to przystępnie wyjaśnić? - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 00:16, 20 gru 2025 (CET) == Ukrycia == Cześć! Uprzejmie przypominam, że narzędzia ukrywania używamy do chowania „wyjątkowo wulgarnych edycji”. Widziałem, że ukryłeś dziś opis zmian [https://pl.wikibooks.org/w/index.php?title=Pomocnik_olimpijczyka_-_Elementy_wiedzy_obywatelskiej_i_ekonomicznej/Scena_polityczna&diff=prev&oldid=528484 tej edycji] natomiast nie ma nic wulgarnego bądź niestosownego w opisie „''Proletariusze wszystkich krajów, łączcie się!''”, wiadomo może jest nietypowy, ale z pewnością nie kwalifikuje się do ukrycia. Tak samo przy [https://pl.wikibooks.org/w/index.php?title=Pomocnik_olimpijczyka_-_Elementy_wiedzy_obywatelskiej_i_ekonomicznej/Scena_polityczna&diff=prev&oldid=528488 tej edycji] opis „''no ja wszystko rozumiem, ale są tu też pożyteczne edycje''”, również nie zawiera niczego niestosownego. Dobrego wieczoru i serdecznie pozdrawiam :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:49, 22 gru 2025 (CET) : {{Ping|Igor123121}} Opisy tych edycji nie spełniają zasady neutralnego punktu widzenia. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:52, 22 gru 2025 (CET) ::@[[Wikipedysta:Persino|Persino]] Jasne, rozumiem, dzięki za wyjaśnienie. Nie mam zamiaru kwestionować Twojej decyzji administratorskiej. Chciałem tylko upewnić się, jak w praktyce interpretujemy zasady dotyczące ukrywania opisów zmian. Dzięki za doprecyzowanie i pozdrawiam serdecznie. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:58, 22 gru 2025 (CET) == Blokada treści przez filtr == Znów cyrki z filtrem nadużyć. Tym razem w Książce kucharskiej, w której ostatnio wszystko odbywało się bezkolizyjnie. Wprowadzam właśnie '''Włoskie pierożki wigilijne''', a w odpowiedzi otrzymuję powiadomienie o mojej "akcji jako szkodliwej", przy czym dokonane nadużycie (czego i tak nie rozumiem) brzmi: "Wielokrotne nowe linie znacznikowo-szablonowo-znakowe, kolejne w wielu liniach, lub w jednej linii". Chyba machnę ręką i niech szlag trafi cały ten przepis (i ewentualne przyszłe też). Kto bowiem uwierzy, że te udoskonalenia mają piszącym ułatwiać życie? - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 22:39, 22 gru 2025 (CET) :{{Ping|Cyborian}} Filtry są dopiero tworzone, więc przepraszam za problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:53, 24 gru 2025 (CET) == Prześladowania esperantystów w III Rzeszy i Związku Radzieckim == Dzień dobry, wczoraj wieczorem próbowałem napisać na tej stronie podręcznik dotyczący prześladowań esperantystów w III Rzeszy i Związku Radzieckim. Nie rozumiem, dlaczego moja praca została usunięta. Rozumiem, że tempo tworzenia mojej pracy oraz jej tematyka mogą być podejrzane, ale po prostu tak mam, że jestem „rewolwerzystą” w zakresie obsługiwania komputera i szybko tworzę strony, a jeżeli chodzi o braku merytoryczne, to takowe nie istnieją, gdyż zaopatrzyłem się w wszystkie niezbędne źródła. Bardzo dobrze znam temat. Wiem np. o esperanckiej grupie ruchu oporu w obozie Dachau (ok. 20 więźniów z Francji i Niemiec), posiadam niezbędne prace i chciałem tylko przybliżyć czytelnikowi ów prześladowania pisząc o nich na Wikibooks. Prosiłbym o odpowiedź z precyzyjnym wyjaśnieniem, dlaczego mało znany element historii jest „spamowaniem” i co mógłbym poprawić, aby książka mogła znowu zainstnieć. Z pozdrowieniami, [[Wikipedysta:Szmaragd zielony jak język|Szmaragd zielony jak język]] ([[Dyskusja wikipedysty:Szmaragd zielony jak język|dyskusja]]) 10:18, 23 gru 2025 (CET) : {{Ping|Szmaragd zielony jak język}} Zaloguj się pod normalną nazwą użytkownika, nie prowokuj! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:36, 23 gru 2025 (CET) == Odp. == Cześć. Obecnie niedokończoną mam tylko jedną, więc myślę, że do końca świąt powinienem ją skończyć. Wesołych świąt! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 11:14, 24 gru 2025 (CET) :Tak, tak będę go również robił spokojnie. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:27, 24 gru 2025 (CET) == Dziękuję za zaakceptowanie mojej pracy! == Zacząłem pisać dalej. Co prawda praca będzie taka „przerywana”, gdyż trochę trwa redagowanie fragmentów, a i nie mam zbyt wiele czasu – to staram się. Znalazłem kilka ciekawych źródeł, jak np. [http://esperanto.china.org.cn/EL/EL/ElPopolaCxinio/98-7-4.html ta strona], co daje mi spore pole do popisu. Pozdrawiam i mam nadzieję na owocną współpracę! [[Wikipedysta:Benjamin E. Schneider|Benjamin E. Schneider]] ([[Dyskusja wikipedysty:Benjamin E. Schneider|dyskusja]]) 11:41, 25 gru 2025 (CET) == Filtr 107 == Cześć próbowałem opublikować opracowanie „Artysty” Sławomira Mrozka, jednak filtr 107 mi nie pozwolił. Nie zauważyłem nigdzie błędów składniowych, więc gdybyś mógł rzucić okiem to byłbym wdzięczny. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:50, 28 gru 2025 (CET) :Tu chodzi o filtr 103, a nie o 107. Problem naprawiony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:44, 29 gru 2025 (CET) == zbyt silny filtr nadużyć == Filtr nadużyć mówi mi "Tekst w większości w innych systemach niż łaciński" na stronie [[Dyskusja:Biologia dla liceum/Podstawa programowa]] gdzie próbowałem sobie zanotować informację roboczą z linkiem do podstawy programowej. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:15, 29 gru 2025 (CET) :{{Ping|Marek Mazurkiewicz}} Już naprawione. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:30, 29 gru 2025 (CET) == Powtarzające się ciągi znaków w linii wikitekstu == Edytuję małą część swojego podręcznika i wymaga ona dużo znaczników <code>\frac{}</code>. Filtr nadużyć traktuje to jak spam. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 21:24, 30 gru 2025 (CET) == Dopasowania w filtrze nadużyć == Hej, niestety znowu problemy w filtrze nadużyć, które '''u n i e m o ż l i w i a j ą''' normalne edytowanie. W tej edycji [[Pszczelarstwo/Sprzęt]] nie mogę wpisać nazwy ula, która brzmi "Dadant". Prawdopodobnie dlatego, że filtr nie potrafi przełknąć "dada" bez czkawki. Wydaje mi się, że trzeba to rozwiązać tak: filtr ostrzega, a po ponownym kliknięciu zapisuje swoje zastrzeżenia na stronie dla administratorów nie blokując edytującego. Administratorzy mogą potem reagować, czy to wandalizm, nadgorliwość filtru czy zignorować. A ja, jako zwykły człowiek edytujący tekst, mogę ten tekst po prostu zapisać i dalej zajmować się tym, czym chcę się zajmować. Nie tracąc czasu, nerwów i energii na fochy filtra. Pozdrawiam serdecznie - szczęśliwego Nowego Roku! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:20, 3 sty 2026 (CET) * {{Ping|EdytaT}} Problem z filtrem naprawiony, możesz edytować spokojnie. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 3 sty 2026 (CET) == Projekt nowej strony głównej == Zajmuję się projektem, który od dawna spędza nam sen z powiek. Jak wszystko będę miał gotowe, będzie można redagować, wstawiać, etc. W ramach [[Wikipedysta:Benjamin_E._Schneider/projektyy|tej strony]] podejmuję się działań: * przepisania kodu SG na nowoczesnego HTML-a bez rozwalania na szablony * unowocześniania interfejsu SG * zadbania o przyjazność dla użytkownika. Jeżeli będziesz miał jakieś sugestie, napisz lub popraw. [[Wikipedysta:Benjamin E. Schneider|Benjamin E. Schneider]] ([[Dyskusja wikipedysty:Benjamin E. Schneider|dyskusja]]) 16:24, 6 sty 2026 (CET) == Filtr == Cześć. Dzisiaj filtr 72 ([[Specjalna:Rejestr nadużyć/8509]]) odrzucił prawidłową edycje anonimowego edytora tylko dlatego, że próbował edytować stronę, na której znajduje się nieistniejący plik (strona [[Powtarzamy matematykę - matura 2011/Matura2010 zad22]]). Czy nie warto złagodzić działania tych filtrów, np. zmienić je z odrzucania na samo oznaczanie edycji do sprawdzenia dla administratorów? Pozdrawiam. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 19:57, 8 sty 2026 (CET) :{{Ping|Igor123121}} Zamieniłem je na ostrzeżenie! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:05, 8 sty 2026 (CET) == Błąd filtru == Cześć. Dostrzegłem dzisiaj bardzo poważny błąd w filtrze 51 naszego filtru nadużyć - uniemożliwia on tworzenie stron z nieliter (przez co również nie można utworzyć strony dyskusji anonimowego użytkownika działającego przez konto tymczasowe i przez to kontaktu z nim) Zobacz proszę na ostatni rejestr filtru. Wydaje mi się, że trzeba zmienić na znacznik zamiast odrzucenie (oczywiście mógłbym sam zmienić, ale nie chce niczego dokonywać bez konsultacji z Toba). Pozdrawiam. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:07, 4 lut 2026 (CET) : {{Ping|Igor123121}} Wystarczyło dodać dodatkowe warunki. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 04:53, 5 lut 2026 (CET) == Kategoria:Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka == Hej, co powinnam robić, żeby to się nie pojawiało? Np. tu: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Ro%C5%9Bliny/Abelia]. Pozdrwiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:58, 12 lut 2026 (CET) :{{Ping|EdytaT}} To jest kategoria do zbierania stron, na których nie użyta nagłówka: <nowiki>==Przypisy==</nowiki>, inaczej mówiąc, wpisz ten nagłówek przed wywołaniem: {{s|Przypisy}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:13, 12 lut 2026 (CET) ::Hej, nie uwierzysz - teraz pojawia się: Kategoria: Szablon:Przypisy (artykuły) z oczekiwanym nagłówkiem :):):):):) [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:02, 12 lut 2026 (CET) :{{Ping|EdytaT}} Właśnie to są kategorie do zbierania tego typu przypadków, też nie uwierzysz! :):):):) [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:07, 12 lut 2026 (CET) ::{{Ping|EdytaT}} Chyba, że tą drugą mam inaczej nazwać. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:09, 12 lut 2026 (CET) :::To znaczy, żeby się tego pozbyć, to nie mogę używać przypisów? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:46, 12 lut 2026 (CET) ::::{{Ping|EdytaT}} Jak nie przypisów, to czego będziesz używać, ja je włożyłem do szablonów {{s|Przypisy}}, {{s|Uwagi}} i {{s|Przypisy-lista}}, ja tak tego nie mogę się pozbyć, bo to byłby wandalizm, musiał bym usunąć moduł {{m|Przypisy}} i samo ciało implementacji, tych szablonów! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:56, 12 lut 2026 (CET) ::::{{Ping|EdytaT}} Te dwie kategorie to są kategorie tylko informacyjne, aby wiedzieć jakiego typu przypadki są na stronie, aby je bardzo łatwo było naprawić, jakby nastąpił problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:58, 12 lut 2026 (CET) :::::No jeżeli te informacje są rzeczywiście potrzebne, to trudno. A można je chociaż "ukryć", żeby poza administratorami nikt ich nie widział? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:11, 13 lut 2026 (CET) :::::{{Ping|EdytaT}} Dobrze [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:22, 13 lut 2026 (CET) == Never ending story? == Hej, błagam, czy możesz zrobić tak, żeby żadne, absolutnie żadne filtry nie wtrącały się do tego, co edytuję? Po raz 100n-ty pojawia mi się meldunek "Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana:". Tym razem z dodatkiem: "Eksperymentalne tworzenie stron", co oczywiście nie ma nic wspólnego z rzeczywistością. Te przeszkody w edytowaniu stron odstraszyły na pewno niejednego chętnego do pisania w Wikibooks. Jestem załamana. Kompletnie załamana i już się chyba nie pozbieram. Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:08, 10 kwi 2026 (CEST) : {{Ping|EdytaT}} Już naprawiłem problem, zrobiłem, że liczba znaków maksymalna w tym filtrze, nie jest już 150, tylko 50, aby był to eksperyment edycyjny! Sprawdziłem twoje edycje, teraz nie wykrywa zmian, czyli jest OK! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:27, 10 kwi 2026 (CEST) == Prosze o pomoc == Tutaj https://pl.wikibooks.org/wiki/Zio%C5%82a_i_przyprawy/Kolendra_siewna próbuje wpisać, że Wikibooks/Ekoogrodnictwo ma artykuł na temat kolendry, a potem że Książka kucharska ma przepisy z kolendra. Ale nie umiem. Czy możesz mi pomoc? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:52, 10 kwi 2026 (CEST) : {{Ping|EdytaT}} Daj mi chwilę na stworzenie odpowiednich szablonów. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:02, 10 kwi 2026 (CEST) :: {{Ping|EdytaT}} Już szablon przyszykowany, zobacz {{s|Wikibooks}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:27, 10 kwi 2026 (CEST) == Zmiana na "stare" == Hej, widzę, że cofasz moje przekierowania na uproszczony dostęp do artykułów. Tzn. zamiast "płasko" (np. Ekoogrodnictwo/jakas-roslinka) to "w drabince" (np. Ekoogrodnictwo/stopien-drabinki/jakas-roslinka). Jest ok, niech tak będzie, ale szkoda, że o tym nie porozmawialiśmy. Robiąc moje pierwsze "spłaszczenie" chodziło mi o kilka rzeczy, co w powodzie zmiany napisałam. M.in. o prostszy zapis dostępu, aby nie trzeba było pamiętać całej drabinki robiąc z innych artykułów. Po drugie jest problem, gdy jakaś roślinka jest raczej "ozdobna" niż "użytkowa",, ale poprzez tę drabinkę jest na stale przypisana tylko do jednej z nich. W sumie to jest niepoprawne. Oczywiście zdawałam sobie sprawę, że potrzeba trochę czasu, by uporządkować te wszystkie drabinki, ale przecież ten czas mamy. A czym ty się kierowałeś? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:43, 12 kwi 2026 (CEST) : {{Ping|EdytaT}} Jak roślina jest jednocześnie użytkowa i jakiś artykuł w tym kierunku, dalej chcemy stworzyć artykuł dla tej samej rośliny, ale jako ozdobnej, to tworzymy przekierowanie do niej, ale użytkowej, ze strony artykułu, ale ozdobnej. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:01, 12 kwi 2026 (CEST) :: {{Ping|EdytaT}} W książce [[Ekoogrodnictwo]], nie wiadomo, czy dany artykuł wskazuje na roślinę, czy na coś innego, więc lepszą motywacją jest wersja drabinkowa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:58, 12 kwi 2026 (CEST) == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 22:07, 28 kwi 2026 (CEST) </div> <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 --> == Pruski/Lekcja13 == Cześć, dlaczego wycofałeś moje edycje na stronie Pruski/Lekcja13? [[Wikipedysta:Aklbmd164|Aklbmd164]] ([[Dyskusja wikipedysty:Aklbmd164|dyskusja]]) 00:53, 21 maj 2026 (CEST) : {{Ping|Aklbmd164}} Wybacz, podczas przeglądania w telefonie mogło się coś mi nacisnąć przez przypadek! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:09, 21 maj 2026 (CEST) 4bxlexafgaj33c3irf0axm6cxbeya5p 543641 543640 2026-05-20T23:09:44Z Aklbmd164 37133 /* Pruski/Lekcja13 */ Odpowiedź 543641 wikitext text/x-wiki {{Witaj}} --[[Wikipedysta:Kj|Kj]] 12:45, 5 kwi 2008 (CEST) == [[Ogólne twierdzenia i wnioski o rozkładach statystycznych]] == Na Wikibooks piszemy podręczniki, podczas, gdy ten moduł, oraz [[Twierdzenie o rozkładzie normalnym‎]] są co prawda wzorowymi artykułami, jednak nadają się bardzie na Wikipedię niż na Wikibooks. Ciekawym pomysłem mogłoby być połączenie tych artykułów w jeden podręcznik. --[[Wikipedysta:Kj|Kj]] 12:45, 5 kwi 2008 (CEST) :Pozwolę sobi dodać swoje zdanie - artykuły nadająsię na Wikibooks, tylko brakuje dla nich jakiejś "wyższej" rodziny, tzn jakiegoś podręcznika, do którego mogłyby należeć (a nie znam się na tym materiale, więc nie umiem zaproponować) --[[Wikipedysta:Lethern|Lethern]] 13:17, 5 kwi 2008 (CEST) ::Witaj. Widzę że zwrócono Ci już uwagę, ale troszeczkę nie ukierunkowano. Wikibooks polega na pisaniu podręczników - dlatego staramy się unikać luźnej formy, spotykanej na Wikipedii. Staramy się aby autorzy zawierali tutaj informacje zwarte w miarę przemyślany sposób. To prawda istnieją tu podręczniki wyglądem przypominające artykuły z Wikipedii (wszystko na jednej stronie) - choćby przykładowo [[Jak żyć oszczędnie]] jest przykładem podręcznika w formie broszurowej. Jednak forma ta obliguje do zawierania wszystkich treści związanych z podręcznikiem na jednej stronie - jest to co prawda uciążliwe dla autorów, szczególnie dużych projektów, jak i obciąża czas ładowania czytelnikowi, choć walorem jest szybki dostęp do wszystkich materiałów. Stąd też powstała idea tworzenia podręczników w formie modułowej (Tytuł/Rozdział). Więcej o tworzeniu podręcznikó znajdziesz w linkach powyżej zamieszczonych wraz z powitaniem. Warto tam zajżeć. Wiąłeś sie za spory projekt, któy zasługiwałby na zebranie w jedną większą całość, bowiem pisząc sam '''podręcznik''' pr. [[Twierdzenie o rozkładzie normalnym]] wypadałoby wspomnieć wcześniej o aspekrach matematycznych i historycznych takiego twierdzenia - tak aby była to ładna pozycja poświęcona tylko temu twierdzeniu. Dlatego też zastanawiam się czy nie lepiej byłoby abyś utworzył podręcznik, przykładowo o tytule [[Statystyka w fizyce]], czy np. [[Statystyka fizyczna]] lub nawet "Ogólne twierdzenia i wnioski o rozkładach statystycznych w fizyce" i zawarł w nim treści wyżej wymienione. Wymagałoby to operacji przeniesienia napisanych już przez Ciebie modułów (przycisk przenieś) pod nowe lokacje podręcznika: przykładowo [[Statystyka w fizyce/Twierdzenie o rozkładzie normalnym]]. Przygotowanie podręcznika z luźnych treści, typu notatki, wymaga oczywiście skonstruowania jakiejś przemyślanej formy, aby wszystko było w miarę spójne, przyjemne w czytaniu i w miarę zrozumiałe. Pozdrawiam i gratuluję pierwszych edycji. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 14:28, 5 kwi 2008 (CEST) :Persino, jeśli możesz... nie baw się w wycinanie treści, ustal nazwę podręcznika, potem przenoś treść (spróbuj przyciskiem 'przenieś') --[[Wikipedysta:Lethern|Lethern]] 16:16, 5 kwi 2008 (CEST) :Dodam, że nazwa podręcznika może być 'prosta', np. "Statystyka wyższa" (bardzo zmyślam), w tym może być nagłówek "Statystyka i matematyka funkcjonalna we współczesnej fizyce" i w nim moduł "Ogólne twierdzenie..." A gdzie widzicie przycisk 'Przenieś',bo przy wikipedii był a tu nie ma!!! --[[Wikipedysta:Persino|Mirosław Makowiecki]] :Jeśli możesz, używaj częściej przycisku 'podgląd zmian' zamiast 'zapisz' --[[Wikipedysta:Lethern|Lethern]] 14:26, 6 kwi 2008 (CEST) :Ponawiam prośbę, przycisk 'przenieś' jest w tym samym miejscu co wikipedia, a przenosząc 'brutalnie' artykuły rozwalasz linki, które się do nich odnosiły (nie ma redirectów); przycisk 'podgląd zmian'.. --[[Wikipedysta:Lethern|Lethern]] 15:41, 8 kwi 2008 (CEST) :6 zmian tej samej strony w ciągu 3 minut.. nikt Ci nie zabrania tak robić, ale czy nie mógłbyś się poslugiwac przyciskiem 'podgląd zmian'? z góry dzięki --[[Wikipedysta:Lethern|Lethern]] 15:06, 10 kwi 2008 (CEST) == Brak uprawnień do przenoszenia stron == Jak pójdę pod adres http://pl.wikibooks.org/wiki/Specjalna:Przenieś/Wikipedysta:Persino/brudnopis, to przeglądarka pisze mi: "Błędy uprawnień Nie masz uprawnień do tego działania z następującej przyczyny: Nie masz uprawnień do przenoszenia stron na Wikibooks. ",w takim razie jak mam przenosić strony, jak przeglądarka tego zabrania. Mirosław Makowiecki : Zupełnie nowi użytkownicy nie mają chyba uprawnień do przenoszenia stron. Sprawdź jutro, czy dalej masz taki problem. Jeśli tak, daj znać komuś, kto jest aktywny na Ostatnich zmianach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:22, 8 kwi 2008 (CEST) == Podgląd zmian == Hej, mógłbyś korzystać częściej z przycisku "Podgląd zmian"? Zauważyłem, że robisz seriami drobne edycje w tych samych artykułach. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 14:35, 13 kwi 2008 (CEST) :Derbeth, prosiłem o to już kilkaset edycji temu -.- --[[Wikipedysta:Lethern|Lethern]] 15:58, 13 kwi 2008 (CEST) == 3k, urodziny, ściganie Japonii == Witaj pracusiu. Zbliżają się święta. Polskie Wikibooks obchodzi urodziny '''10 lipca''', do tego zbliżamy się do 3 tyś. modułów - to wspaniała szansa na podwójne święto. Ba - w rankingu Wikibooks, Polska jest zaraz za Japonią - różnica ok. 80 rozdziałów książek. Wysuwam więc pomysł z inicjatywą, [http://pl.wikibooks.org/w/index.php?title=Wikibooks%3ABar&diff=76448&oldid=76445 jak ta], żeby chwilowo zamrozić licznik. Dzięki temu będziemy mogli za około 2 tygodnie przygotowywać się do potrójnego święta. Na czym polega pomysł i inicjatywa? Licznik zlicza nowe moduły tworzone w głównej przestrzeni nazw - pomysł polega na tym, żeby wszystkie nowe strony (czerwone linki) Wikipedyści tworzyli przez najbliższe kilka tygodni w brudnopisach - na swoich stronach podręcznych "Wikipedysta:Nazwa/strona podręczna". Następnie za 2 tygodnie przenieśli je "przycisk przenieś" do przestrzeni głównej. Dzięki temu efektowi kumulacji, nie dość że zgromadzimy strony potrzebne do "doskoku i prześcignięcia" Japonii, ale i będziemy mieli potrójne święto Wikibooks. Co myślisz o tej inicjatywie - zapraszam do [[WB:BAR|baru]] do podzielenia się swoją opinią. P.S. Dodatkowo, jest pomysł utworzenia/przetłumaczenia książki urodzinowej, którą moglibyśmy dodatkowo z tej okazji, wspólnie wykonać - potrzebny jest tylko pomysł jakiej ^_^. Gorąco zapraszam. [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 02:53, 11 cze 2008 (CEST) == Odpowiedź,urodziny, ściganie Japonii == Jeśli w święta ma być więcej niż 3000 to się zgadzam,nie dość ,że będziemy obchodzić podwójne święto, to będziemy cieszyli że pokonamy Japonię pod tym względem. Jednak warto stworzyć to dla naszej satysfakcji. Wiedząc ,że pokonamy Japonię, to liczba szybkość modów powinna wzrastać szybciej. <tt>[[Dyskusja Wikipedysty:Persino|Persino]]</tt> 00:29, 13 cze 2008 (CEST) Można ogłosić częściowy sukces - udało nam się dotrwać do lipca z przymrożonymi edycjami. Jeśli posiadasz jakieś strony w brudnopisie - gorąco zachęcam do uwolnienia ich w nadchodzących dniach (między 5-11 lipca) do przestrzeni głównej [używając przycisku "przenieś" na górze lub dole strony - w zależności od skórki jaką wybrano w profilu]. Zachęcam do dalszego udziału w projekcie i wzmożenia pracy w najbliższych dniach - może uda nam się osiągnąć pułap dodatkowych 100 artykułów i prześcignąć Japonię. ;o) Pozdrawiam [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:17, 4 lip 2008 (CEST) == Kompletność fizyki teoretycznej == Mógłbyś mi napisać, na ile procentowo oceniasz stopień kompletności podręcznika? Chciałbym dopisać do Księgozbioru [[Wikibooks:Etapy rozwoju książek|ikonkę kompletności dla twojego podręcznika]]. Przy okazji, jestem pod wrażeniem rozmiaru twojej książki. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 01:22, 10 lip 2008 (CEST) === Re:Kompletność fizyki teoretycznej === Kompletnośc mojej książki oceniam na 50% [[Wikipedysta:Persino|Mirosław Makowiecki]] 02:26, 10 lip 2008 (CEST) Zerknij proszę tutaj: [[Dyskusja:Statystyka_matematyczna]] [[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:41, 23 lip 2008 (CEST) Podoba mi się ta nawigacja: [[Wikipedysta:Persino|Mirosław Makowiecki]] 23:47, 23 lip 2008 (CEST) ==Numeracja wzorów== Czy wikibooks można tak zrobić aby numer rozdziału był numerowny według pewnej reguły,i ściśle określone wzory do należącego rozdziału. Np. 10.1 rozdział 1 Wzór 10.1.1 Wzór 10.1.2 10.2 Rozdział Wzór 10.2.1 Chodzi mi o generator. [[Wikipedysta:Persino|Mirosław Makowiecki]] 00:19, 2 Sierpnia 2008 (CEST) :Jedyne co w ramach MediaWiki mogę zaproponować to [[w:Pomoc:Wzory]] i polecany tam szablon "wzór" (niestety zmuszający do ręcznego numerowania). :{{wzór|<math>c=\sqrt{a^2+b^2}</math>|10.1|bez automatu=tak}} :Niestety Wikipedia to nie LaTeX. Na koniec drobna uwaga. Jeśli chcesz zadać komuś pytanie, lub na coś odpowiedzieć to pisz na '''jego''' stronie dyskusji, a jeśli wszystkim wikipedystom to lepiej pytać w "Barze". (To pytanie znalazłem przypadkiem.) Sugeruję również stosować <math>\langle\cdot\rangle</math> zamiast <math><\cdot></math>. [[Wikipedysta:Delimata|Delimata]] 10:03, 5 sie 2008 (CEST) Jeszcze tak mi się nasunęła taka sugestia by rozważyć użycie symbolu <math>\varepsilon\,</math> zamiast <math>\epsilon\,</math>. [[Wikipedysta:Delimata|Delimata]] 11:13, 6 sie 2008 (CEST) == Giggs komentarz == Ktoś napisał: [[Dyskusja:Fizyka_statystyczna/Zespoły_statystyczne_w_fizyce_statystycznej_klasycznej|w tej dyskusji]] --[[Wikipedysta:Lethern|Lethern]] 09:59, 8 sie 2008 (CEST) == spis treści == "jak wstawić spis treści" - nie da się tego zrobić automatycznie, bo spis treści powstaje na podstawie nagłówków w artykule, więc w "innym module o innych nagłówkach" nie zrobi się taki sam spis. Można go zrobić ręcznie, napisz który i gdzie skopiować, mogę spróbować --[[Wikipedysta:Lethern|Lethern]] 11:04, 3 lis 2008 (CET) ===Re:spis treści=== Co to znaczy ręcznie? [[Persino|Persino]]19:11 3 lis 2008 :To znaczy napisać ten spis i dodać linki, tak jak np. spis modułów na stronie Fizyka.../Artykuły --[[Wikipedysta:Lethern|Lethern]] 20:45, 7 lis 2008 (CET) ''Wstawiłeś (przez użycie "wstawiania stron" "{: ... }" ) spis treści z Statystyki matematycznej do podręcznika fizyki. Poprawiłem link, bo w poprzednim była stara strona z ustawionym EK. Na stronie [[Statystyka_matematyczna]] dodałem tagi "noinclude", dzięki nim tekst między nimi nie pojawi się w miejscu gdzie kopiujesz ten moduł w podręczniku Fizyki. Jak coś to pytaj (najlepiej na mojej stronie dyskusji, łatwiej mi zobaczyć że piszesz) --[[Wikipedysta:Lethern|Lethern]] 14:36, 15 lis 2008 (CET)'' :Sprostowanie... był konflikt edycji, cofnąłem swoje, powyższe nie ma już znaczenia == Wstawianie kategorii "Ekspresowe kasowanie" == Nie rozumiem, co robisz wykonując [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna/Równania_różniczkowe_zwyczajne_rzędu_drugiego_sprowadzane_do_równań_rzędu_pierwszego&diff=85470&oldid=85443 takie edycje]. Jeśli chcesz, żeby jakaś strona była skasowana, powinieneś wstawić szablon ek i napisać, dlaczego stronę należy skasować (np. że treść została gdzieś przeniesiona). Nie mam czasu biegać po podręczniku i prowadzić dochodzenie, czy stronę kasować, czy nie. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 13:49, 6 lis 2008 (CET) :Dodam, że chodzi o wstawienie: <nowiki>{{ek|tu wpisz tlumaczenie}}</nowiki> --[[Wikipedysta:Lethern|Lethern]] 20:45, 7 lis 2008 (CET) == podręcznik == Nie wiem czy dostrzegłeś - ktoś się wpisał tu [[Dyskusja:Statystyka matematyczna/Metoda najmniejszych kwadratów]]. --[[Wikipedysta:Lethern|Lethern]] 13:11, 10 gru 2008 (CET) == Urodziny Wikibooks == Cześć. 24 stycznia polskim Wikibooksom stuknie 5 latek. Trochę byłoby szkoda, gdyby to przeszło bez echa - [http://stats.wikimedia.org/wikibooks/PL/ChartsWikipediaPL.htm podczas wakacyjnej akcji] przybyło w końcu nieco modułów :). W [[Wikibooks:Bar#Urodziny Wikibooks|kawiarence]] dałem kilka propozycji, co można by na takie urodziny zrobić. Na jesień udało mi się przez wykop rozpropagować jakoś podręcznik fotografii (i też na statsach fajnie widać październik ;) Jeśli masz inne propozycje, też je dorzuć. Wiem, że na booksach jest tak, że każdy swoją działkę pieli, ale jeśli sami się nie rozpropagujemy, to niewiele osób będzie tu trafiało. Pozdrawiam [[Wikipedysta:Przykuta|Przykuta]] 14:09, 18 sty 2009 (CET) == Spis treści fizyki teoretycznej == Zrobiłem trochę "ukruconą" wersję spisu treści do podręcznika, w [[Wikipedysta:Lethern/Fizyka teoretyczna]]. Usunąłem wszystkie podpunktu poziomu ###, #### itd., wypadło ponad 200 podpunktów. Nie jest to na pewno idealny spis, ale daję przykład, że można go zrobić bardziej czytelnym, żeby pomóc przeglądać ten spis użytkownikom (pewnie można wywalić wiele podpunktów typu ## oraz powinno się zostawić niektóre poziomu ###, ale nie bawiłem się w szczegóły). Myślę, że można by taki spis treści (mniejszy) wstawić na jakąś poboczną stronę (oddzielny moduł) lub odwrotnie, aktualny spis wstawić na oddzielny moduł. Co sądzisz? --[[Wikipedysta:Lethern|Lethern]] 13:11, 4 lut 2009 (CET) === Spis treści fizyki teoretycznej === Zrobiłem spis treści by był on szczegółowy, bo czytelnik korzystający z mniej szczegółowego spisu treści, patrzy, nie ma, a już rzeczywiście jest. Temu mój służy spis treści. '''Widziałem gorsze spisy treści''' w drukowalnych książkach, nie na '''wikibooks'''. Ja bym tak zrobił w jednym pliku "Fizyka teoretyczna" umieścił bym jednym pliku wszystko z parserami, oto psełdokod; ----------------------------------------------------------------------------- //Fizyka teoretyczna if((Tom=="Matematyka statystyczna")or(Tom=="")){ //Spis streści Matematyki statystycznej } if((Tom=="Statystyka Fizyczna")or(Tom==""){ //Spis treści statystyka fizyczna } pozodstały spis streści <nowiki>[[Kategoria:Fizyka]]</nowiki> ----------------------------------------------------------------------------- Następnie należy stworzyć plik np. "Matematyka statystyczna", a w nim, a oto psełdokod: <nowiki>{{:Fizyka_teoretyczna|Tom=Matematyka statystyczna}}</nowiki> <nowiki>[[Kategoria:Fizyka]]</nowiki> ----------------------------------------------------------------------------- Aby moja książka była bardziej przejrzysta, temu służy podział mojej książki na pliki w katalogu '''Fizyka''', które korzystają z pliku '''Fizyka teoretyczna''' by stworzyć spis treści. Czy mógłbyś to stworzyć na swoim katalogu domowym, jeśli by mnie się podobało, to prosił bym byś to zrobić to dla każdego z rozdziału z osobna. [[Wikipedysta:Persino|Persino]] 16:41, 4 lut 2009 (CET) === "Szablon" do spisu treści === [[Wikipedysta:Lethern/Fizyka_spis]] Wykorzystanie, np.: Wikipedysta:Lethern/Fizyka_spis|1|||4| czy np. Wikipedysta:Lethern/Fizyka_spis|.|.||| Każde niepuste pole (np."1") oznacza użycie danego rozdziału, puste oznacza pominięcie. Pierwsze pole to pierwszy rozdział, i tak dalej. Uwaga: "szablon" (choć nie jest szablonem), nie może być na głównej stronie, tylko w jakimś module podrzędnym. Główna strona musi z niego korzystać. Nie wiem, czy to idzie obejść. Na głównej stronie jest po prostu: Wikipedysta:Lethern/Fizyka_spis|a|a|a|a *Przykład wykorzystania - [[Wikipedysta:Lethern/Fizyka_strona]] --[[Wikipedysta:Lethern|Lethern]] 01:56, 2 mar 2009 (CET) == Linki do wzorów == Jest już pewien szablon, spróbuj z niego skorzystać: *link do użycia: : <nowiki>[[podręcznik/moduł#wzór1|Tekst opisu]]</nowiki> *tam gdzie wzór, szablon: : <nowiki>{{Indeksuj|wzór1}}<math>x=y</math></nowiki> *wygląda to tak (bez zmian): : {{Indeksuj|wzór1}}<math>x=y</math> Swoją drogą, nie zauważyłem tej wypowiedzi w temacie ze spisem treści (mogłem pominąć, a nie jest ona na mojej stronie dyskusji), ale spróbuję to zrobić --[[Wikipedysta:Lethern|Lethern]] 01:15, 2 mar 2009 (CET) :W module [[Fizyka teoretyczna/Średnie w matematyce]] zamieniłem linki do nagłówków (np. średnia arytmetyczna) na linki do wzorów. Możesz sprawdzić, jak działa, jeśli niepotrzebnie zamieniałem to cofnij moje edycje ; ) --[[Wikipedysta:Lethern|Lethern]] 11:07, 2 mar 2009 (CET) :Moja wiedza nt. wiki mówi mi,że nie ma możliwości użycia żadnego licznika, który by to zautomatyzował. Musisz ręcznie wpisywać 1, 2 itd. --[[Wikipedysta:Lethern|Lethern]] 11:50, 4 mar 2009 (CET) == Fizyka teoretyczna/Zbiór rozdziałów == Pozostawiłeś ten moduł pusty. Mams go usunąć? W tym celu wstawiaj proszę szablon: {{s|ek}}. P.S. W barze wspominałeś na temat szablonów. Nie rozumim tylko czy to było pytanie czy stwierdzenie? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 16:25, 7 mar 2009 (CET) == Fizyka teoretyczna - spis treści == Niekoniecznie rozumiem po co Ci tyle zagnieżdżonych szablonów. Ogólnie na Wikibooks źle widziane jest "forkowanie", w Księgozbiorze nie pojawiają się pozycje [[Statystyka matematyczna]], [[Klasyczna elektrodynamika]], [[Szczególna teoria względności]], [[Rachunek tensorowy]], [[Ogólna teoria względności]] itd. myślę, że wygodniej byłoby podzielić całą książkę zgodnie z nazewnictwem albo na układ taki: * strona zbiorcza "[[Fizyka teoretyczna]]" dla kilku osobnych podręczników "[[Fizyka teoretyczna cz.I - Statystyka matematyczna]]/podrozdziały" itd... * lub sugerowałbym powrót * w obecnej chwili zanim podjęte zostaną jakiekolwiek decyzje i działania (najprawdopodobniej związane z usunięciem niepotrzebnych spisów treści na nieistniejących podręcznikach, lub migracją podrozdziałów fizyki teoretycznej do właściwych podręczników) - proponuję na stronach "Statystyka matematyczna" i wszystkich innych tego typu w przestrzeni głównej nazw, umieścić szablony informujące, że jest to część z podręcznika [[Fizyka teoretyczna]] - bowiem użytkownicy będą zdezorientowani nagłą zmianą struktury i nazewnictwa - kiedy przeniesieni zostaną z podręcznika "Statystyka matematyczna" czy "Klasycznej elektrodynamiki" do "Fizyki teoretycznej". :Ewentualne przeniesienia mogą zostać wykonane botami, o ile będą dostępne. --[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:38, 7 mar 2009 (CET) == Programowanie i CSS w mediawiki == MediaWiki oparta jest na cssie więc niejako można tworzyć nowe klasy. Niestety jest to bardzo ograniczone, np. do możliwości tworzenia skinów. Ze względów bezpieczeństwa takie formuły najczęściej ograniczone są tylko do obsługi pojedynczego użytkownika. Ciut więcej możesz poczytać na stronie: http://www.mediawiki.org/wiki/Manual:CSS i jej odnośnikach. Może na precyzyjniejesze pytania będę mógł bardziej szczegółowo odpowiedzieć. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 15:27, 1 kwi 2009 (CEST) Zapewne chodziło Ci o wyrażenie typu: <nowiki>{{{1|2}}}</nowiki> (różnica nawiasu) oznacza to, że domyślna wartość pierwszego również domyślnego parametru szablonu, w przypadku pominięcia jego deklaracji przy użyciu szablonu będzie wynosiła 2. Przykładowo dla deklaracji: <nowiki>{{Szablon|blabla|bleble}} wartość parametru {{{1|2}}} wynosiła będzie blabla parametru {{{2}}} bleble. Z kolei zamieszczając {{Szablon}}, parametr {{{1|2}}} równy będzie 2, natomiast parametr {{{2}}} pozostanie pusty.</nowiki> -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:16, 2 kwi 2009 (CEST) == Liczby zespolone == :Część praktyczna podręcznika - tj. dodawanie i odejmowanie nie została napisana przeze mnie, i jest w chwili obecnej troszkę oderwana od podręcznika, i w najbliższym czasie będę starał się ją przeredagować. Co do zapisu <math>i= \sqrt{-1}</math> w wielu środowiskach jest przedstawiany jako bardziej prawidłowy niż krytykowany przez nie zapis <math>i^2=-1</math> za mniej dydaktyczny. W podręczniku starałem się zachować pewną wynikowość i skupić się na przystępnym i łagodnym wprowadzeniu do świata liczb urojonych jak również w miarę zrozumiałym opisie liczb zespolonych. W większości podręczników czy skryptów spotykałem się z wrzucaniem czytelników na głęboką wodę, dlatego przyjąłem konwencję wynikową opisu liczb: skoro zakładamy że są narzędziem pozwalającym obliczać pierwiastek liczb ujemnych to musimy stworzyć to narzędzie, następnie możemy na nim operować, a potrafiąc już operować można próbować przedstawiać to na rysunku. :Zgodzę się że dla matematyków znających przepisy, oczywistym jest przyjęta później konwencja operowania w zapisie "kartezjańskim", przez podawanie współrzędnych w płaszczyźnie arganda (a,b), jednak wydaje się to dość nienaturalne i usilne promowanie tego typu przedstawienia liczb najczęściej wprowadzało większy zamęt u niezaznajomionych z tematyką. Mimo wszystko uznałem za bardziej naturalny i zrozumiały dla człowieka zapis algebraiczny liczb. Staram się po prostu utrzymać jednolitą konwencję podręcznika i nie mieszać nadto pojęciami między sobą. Ale i objaśniać w łatwy sposób elementy dyskusyjne, które bagatelizowane są często w innych książkach. :Toteż, co do zapisu <MATH>\sqrt{-1}^2=(\pm i)^2\equiv -1</MATH> dla nas oczywistym jest zachowanie kolejności działań - bo nieświadomie sposób liczenia uznajemy już za oczywisty. Jednak pamiętać należy, że młodzież jest bardziej dociekliwa i często ich manipulacje cyferkami mogą pokazać, że <MATH>\sqrt{-1}^2=(\pm i)^2\equiv (\pm \sqrt{-1})^2</math> co daje nam ciekawy efekty jak np. <math> \sqrt{(-1) \cdot (-1)} = \pm 1 </MATH> p zastosowaniu analizy klasycznej. Jak widać w takiej kolejności wykonywania działań algebraicznych otrzymujemy różne efekty, a wytłumaczenie - "wybierz sobie wynik ujemny" zaczyna zakrawać o zbrodnię na dydaktyce. We "wcześniejszej" analizie takich problemów nie było, a wszyscy przyzwyczajeni byli do przemienności działań mnożenia elementów posiadających ten sam wykładnik. :Chyba, że sam posiadasz jakiś fajny pomysł na predstawienie/wytłumaczenie tego problemu w prosty i zrozumiały sposób czytelnikowi który nigdy wcześniej nie miał doczynienia z liczbami zespolonymi, a jego matematyka zakończyła się na standardowej analizie liczb rzeczywistych - bo do takich osób przede wszystkim kierowałem podręcznik. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:09, 3 kwi 2009 (CEST) :Dokładnie. I takie przedstawienie mi chodzi po głowie w dalszych rozdziałach podręcznika. Bowiem z tego co inni wrzucili już do części o działaniach na liczbach zespolonych, widzę raczej brak zrozumienia ich tematyki - standardowy dla zwykłego trybu nauczania 3Z. Chcę by ten podręcznik był inny niż standardy w tej dziedzinie. Muszę tylko skończyć parę projektów, i powrzucam to co mam na Wiki - bo nie lubię nieprzemyślanej roboty. Cieszę się że się rozumiemy w tej sprawie i nie jestem odosobniony w takim podejściu do prezentacji tych liczb. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:01, 4 kwi 2009 (CEST) == O mojej (mam nadzieję) pomocy == Witaj, piszę do Ciebie, żebyś nie niepokoił się moimi poprawkami w fizyce teoretycznej. To tak żeby uprzedzić i wyjaśnić. Nie będę ingerował - a na pewno nie bez pytania! - w tok rozumowania, w strukturę podręcznika, ani nie będę wprowadzał swoich "dodatków". Chciałbym tylko, na ile starczy mi zapału, pomóc poprawiać język, uzupełniać zgubione indeksy, ujednolicać symbole itp. z zachowaniem ciągu wywodu, który Ty zaproponowałeś. Twój wykład wymaga sporych poprawek językowych, czego chyba masz sam świadomości, prawda? Jak widziałem inni też to już wcześniej zauważyli. Pozdrawiam i... podziwiam rozmach z jakim podręcznik został zaplanowany. [[Wikipedysta:Youandme|Youandme]] 18:40, 3 kwi 2009 (CEST) == Edycje == Witaj Persino. Muszę jeszcze raz o tym napisać - czy mógłbyś spróbować więcej używać przycisku "podgląd zmian", niż "zapisz"? Jeśli boisz się o stratę dokumentu, zapisuj w notatniku. Może Tobie to nie robi różnicy, ale licznik edycji wikibooks jest sztucznie zawyżany, Ostatnie zmiany są mało czytelne, a Tobie to chyba nie będzie sprawiało wielkiego klopotu? --[[Wikipedysta:Lethern|Lethern]] 12:01, 5 kwi 2009 (CEST) Obywatelu, zlituj się, przestań robić miliony edycji. Jedna na minutę to za dużo --[[Wikipedysta:Lethern|Lethern]] 12:36, 18 kwi 2009 (CEST) == Odp: Wariacja lub wariancja == [http://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikipedysty:Youandme&diff=96991&oldid=96186 Piszesz]: : "W książce "Analiza danych" autora "Siegmund Brandt" jest używane słowo '''wariacja''' [...]". W jakim kontekście? Na której stronie? Spójrz na miejsce, gdy drugi moment pojawia się w tej książce chyba po raz pierwszy (strona 51) w rozdziale 3.3 o tytule "Funkcje jednej zmiennej losowej, wartość oczekiwana, '''wariancja''', momenty". Na wspomnianej stronie 52., jest definicja i używa słowa '''wariancja''', później mamy tytuł rozdziału 3.5 "Wartości oczekiwane, '''wariancje''', kowariancje i współczynniki korelacji", a kolejnych rozdziałach np. 11. "Analiza '''wariancji'''"! Zajrzysz do indeksu i zobaczysz, że: :'''wariancja''' 51, 76, 248, 688, 690 : - estymatora 254 : - wartości średniej 177, 199, 301 : - z próby 176, 198 : - zmiennej losowej 51 natomiast w indeksie mamy też oczywiście (i zaledwie tylko tyle): :'''wariacje''' 598 ale dotyczy to pojęcia z kombinatoryki - cytuję ze strony 598: "Takie ustaiwenia obiektów nazywamy ''wariacjami''". <br>Tak przynajmniej jest w wydaniu z 1998 roku i śmiem twierdzić, że jeśli gdzieś w tekście pojawiło się słowo '''wariacja''' w znaczeniu drugiego momentu statystycznego, to była to literówka. I podtrzymam twierdzenie, że w polskim drugi moment statystyczny nie jest nazywany wymiennie '''wariacją''' lub '''wariancją'''. [[Wikipedysta:Youandme|Youandme]] 01:23, 11 kwi 2009 (CEST) PS. Przy okazji dam spóźnioną odpowiedź: oczywiście zastosuję się do prośby o używanie szablonów "CentrujWzór" i "CentrujWzór" i cieszę się, że zaakceptowałeś moją propozycję pomocy. == Wzory == Niestety, nie mam pojęcia jak to zautomatyzować, jedynie ręczne wpisywanie widzę jako opcję --[[Wikipedysta:Lethern|Lethern]] 21:10, 18 kwi 2009 (CEST) == poprawka Bernoulliego == Poprawiłem mniej więcej to, o co prosiłeś. Jeśli nagłówki pozostałe mają być w "podpunktach", to wystarczy <nowiki>=Twierdzenie o rozkładzie wielomianowym= zmienić na ==Twierdzenie o rozkładzie wielomianowym==</nowiki> itd. --[[Wikipedysta:Lethern|Lethern]] 09:16, 20 kwi 2009 (CEST) == rozdziały bez spisu treści == Było takie coś (tag h2, h3 itd.), ale niestety już nie działa. Pozostaje nie używać === i robić ręcznie, np. <nowiki> <big>'''nazwa'''</big> </nowiki> <big><big>'''"nazwa"'''</big></big> ---- Albo przy użyciu formatowania html, --[[Wikipedysta:Lethern|Lethern]] 15:15, 28 kwi 2009 (CEST) == całka == 1. <MATH>\int_{\overset{a}{\underset{c}{b}}}c(x)dx\;</MATH> 2. <MATH>\int_{\overset{a}{\underset{c}{\overset{b}{}}}}c(x)dx\;</MATH> 3.<MATH>\int_{ \begin{matrix} a \\ b \\ c \end{matrix} }c(x)dx\;</MATH> i jeszcze 4. <math> \int\limits_{\overset{a}{\underset{c}{\overset{b}{}}}}</math> Polecam http://meta.wikimedia.org/wiki/Help:Displaying_a_formula --[[Wikipedysta:Lethern|Lethern]] 17:44, 5 maj 2009 (CEST) * Wprowadziłem zmiany w [http://pl.wikibooks.org/w/index.php?title=Fizyka_statystyczna/Przykłady_innych_zespołów_statystycznych_kanonicznych_w_fizyce_klasycznej&curid=15972&diff=99547&oldid=99524 Przykłady innych zespołów statystycznych kanonicznych w fizyce klasycznej‎], tzn. poprawiłemdwie całki. wg tego co napsałem powyżej --[[Wikipedysta:Lethern|Lethern]] 11:49, 7 maj 2009 (CEST) == Rozdziały == O ile z wiki można coś poradzić, tak na HTMLu się nie znam. Poczytaj tu: [http://meta.wikimedia.org/wiki/Help:Section#Section_linking Help:Section] (tu masz [http://meta.wikimedia.org/wiki/Help:Contents#For_editors spis]). Niestety nie wiem, co masz na myśli. Jeśli nie poradzisz sobie to napisz dokładnie, jak to ma wyglądać, najlepiej jakieś demo, to może coś pomogę (ew mozna na wikipedii o tym wspomnieć, tam więcej ludzi co się znają) Generalnie żeby do pewnego miejsca można było linkować, to coś musi zawierać: :<nowiki>{{anchor|tekst}}</nowiki> (lub) :<nowiki><span id="anchor_name">some text</span>. </nowiki> Rozdział można też tworzyć poprzez: :<nowiki><tt><h4>tekst</h4></tt> </nowiki> --[[Wikipedysta:Lethern|Lethern]] 22:14, 8 maj 2009 (CEST) == Doktorat z Wikimedia == Hmm. Dość ciekawa propozycja. Choć co prawda nie wiem co do końca masz na myśli z pisaniem doktoratu "z Wikimedia". Chcesz zająć się "fenomenem" środowiska Wiki, czy po prostu tworzyć kilku osobową publikację pracy doktorskiej? Myślę, że w tym drugim przypadku - głównymi ograniczeniami byłyby wymogi uczelniane, stawiane przez Centralną Komisję oraz prawnie podyktowane ''ustawą o stopniach naukowych'', która tak na marginesie chyba wspominała o możliwości prowadzenia wieloosobowej publikacji (art. 13 pkt 3) - mechanizm Wiki jako taki posiada historię wkładu w podręczniki, więc możesz być utożsamiany w konkretnymi częściami pracy zbiorowej, za jaką można byłoby uważać pojawiające się treści na Wikibooks. Jedynym ograniczeniem byłaby zasada Oryginal Research - co oznacza, że poniekąd "oryginalne rozwiązanie problemu naukowego" (art. 13 - pkt 1) nie mieści się w ramach Wikibooks (i najlepiej aby była rozwiązana poza Wikibooks). Za to cała część "wykazująca ogólną wiedzę teoretyczną w danej dyscyplinie naukowej lub artystycznej", jako część dedykowana dydaktyce, jak najbardziej może się znajdować na Wikibooks. Jeśli natomiast masz na myśli wykonanie publikacji drukowanej Twojego podręcznika, do puki nie będzie naruszona licencja GFDL (która pozwala nawet na sprzedaż materiałów, byle za podaniem autorów największego wkładu i zamieszczeniem pełnej treści licencji) oraz licencja grafik - osobiście myślę, że nie powinno być problemów. Nie podoba mi się tylko "zmuszanie" do rozwijania podręcznika - nauka powinna być przywilejem, nie karą ;o). -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 21:49, 16 maj 2009 (CEST) == PHP i wzory == Myślę, że warto by porozmawiać z programistami z MediaWiki (na IRCu, propozycjach dodatków, czy Bugzilli) w sprawie opracowania plug-inu do Wikibooks umożliwiającego prowadzenie numeracji wzorów i odwoływanie się do nich. Obecnie Wiki działa w bardzo okrojony sposób i trzeba niejako 'hackować' jej możliwości tak jak zrobiłeś to w {{s|CentrujWzór}} i {{s|LinkWzór}}, istnieją też inne narzędzia odwoławcze np. referencje: szablony: {{s|r}}, {{s|u}}, {{s|o}}, {{s|RN}} i {{s|UN}}, innym rozwiązaniem jest też użycie grup referencji <pre><references group="wzór"/></pre> - zastanawiam się czy możliwe byłoby utworzenie grupy matematycznej "wzór" i uwzględnienia w odpowiednich css'ach, ale jest to troszeczkę bardziej zaawansowany problem, wykraczający poza moje możliwościowi dostępowe do Wiki (dostęp do plików katalogów który mają programiści MediaWiki). P.S. Czy na pewno chcesz skasować: [[Fizyka teoretyczna/Rozkłady kwantowe w fizyce]]? == rozkłady == Przepraszam, że dopiero dziś odpowiadam. Wydawało mi się po prostu, że tytuły są mylące, bo rozkład statystyczny i rozkład zmiennej losowej to to samo, a tytuły sugerowały, że to co innego. W obecnej wersji jest moim zdaniem całkiem dobrze, pewnie jeszcze lepiej byłoby wszędzie jednolicie pisać "rozkład zmiennej losowej" albo "rozkład statystyczny", ale to już kosmetyka. Pozdrawiam, [[Wikipedysta:Olaf|Olaf]] 19:27, 4 cze 2009 (CEST) == [[Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Energia_ciała_w_polu_grawitacyjnym|Energia ciała w polu grawitacyjnym]] == Ucząc się do egzaminu czytam Twój podręcznik i nie jestem pewien, czy aby to równanie jest dobrze napisane. W momencie przejścia: <math>GMm\int\limits^{\infty}_r r^{-2}dr=\lim_{r_0\rightarrow \infty}GMm[-{{1}\over{r}}]^r_{r_0}</math> w niezrozumiały dla mnie sposób zamieniasz granice całkowania (całkujemy od r do nieskończoności, a potem od nieskończoności do r). Czy aby to jest dobrze? Dodam, że wyprowadzając ten wzór "od początku" otrzymuję ten sam wynik tylko z przeciwnym znakiem. Jeśli to jest mój błąd, to oczywiście przepraszam ;-). --[[Wikipedysta:Kj|Kj]] 23:17, 9 cze 2009 (CEST) == [[Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Empiryczne_Prawa_Keplera|Empiryczne Prawa Keplera]] == Witaj, znowu odkryłem drobne błędy w podręczniku i pozwoliłem je sobie poprawić. Oto zmiany (proszę o ich przejrzenie i ew. revert w przypadku mojego błędu): [http://pl.wikibooks.org/w/index.php?title=Mechanika_teoretyczna/Kinematyka_i_dynamika_klasyczna_opisu_punktu_materialnego#Empiryczne_Prawa_Keplera]. Pozdrawiam --[[Wikipedysta:Kj|Kj]] 23:39, 12 cze 2009 (CEST) == EKi == Witam, jesteś pewien chęci usunięcia tej strony: [[Fizyka teoretyczna/Elementy zagadnień z klasycznej mechaniki kwantowej]]? P.S. Usunąłem resztę, ale sprawdź jeszcze czy nie zerwało linkujących. Następnym razem jeśli przenosisz strony proszę pozmieniaj adresy w linkujących - zapobiegnie to zrywaniu i powstawaniu czerwonych linków w istniejących już modułach. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:58, 14 cze 2009 (CEST) == poprawianie podręcznika == chętnie bym poprawiał, ale nie mam najlepszego dostępu do internetu aktualnie niestety --[[Wikipedysta:Lethern|Lethern]] 23:50, 3 lip 2009 (CEST) == Autoindeksowanie == Hmm. Raczej nie spotkałem się z takim narzędziem. Mimo wszystko Wiki to nie Office czy TeX. Ale jeżeli koniecznie byłoby Ci coś takiego potrzebne, musiałbyś złożyć request na stronie https://bugzilla.wikimedia.org/ o opracowanie takiego narzędzia. Co prawda zajmie to troszkę czasu, ale może któremuś programiście zachce się stawić czoła temu problemowi. ;) -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 22:43, 1 lip 2009 (CEST) == wzory w tekście == '''(spójrz na źródło tego tekstu)''' <br /> Możesz zrobić niektóre skróty "mniejsze" niż czcionka Tex'a, tzn.<br /> &int; &sum; &prod; &radic; &minus; &plusmn; &infin; <br /> &prop; &equiv; &ne; &le; &ge; <br /> &times; &middot; &divide; &part; &prime; &Prime; <br /> &nabla; &permil; &deg; &there4; &Oslash; &oslash; <br /> &isin; &notin; &cap; &cup; &sub; &sup; &sube; &supe; <br /> &not; &and; &or; &exist; &forall; &rArr; &hArr; <br /> &rarr; &harr; &uarr; &alefsym; - &ndash; &mdash; <br /> &alpha; &beta; &gamma; &delta; &epsilon; &zeta; &eta; &theta; &iota; &kappa; &lambda; &mu; &nu;<br /> &xi; &omicron; &pi; &rho; &sigma; &sigmaf; &tau; &upsilon; &phi; &chi; &psi; &omega;<br /> &Gamma; &Delta; &Theta; &Lambda; &Xi; &Pi; &Sigma; &Phi; &Psi; &Omega;<br /> Oczywiście, górny i dolny index: x <sub>a</sub> + y <sup>b</sup> W TeX możesz spróbować zrobić taki trick: < math> _{....} < /math> <br /> tekst tekst wzór <math>_{x^2+2x+1}\,</math> teksttekst &nbsp; czy też &nbsp; tekst <math>_{\cos \alpha + \sum_{n=3}{x_n}}\,</math> tekst tekst <br /> Problem w tym, że niektórzy muszą sięgnąć po okulary, żeby taki wzór przeczytać :D --[[Wikipedysta:Lethern|Lethern]] 23:49, 3 lip 2009 (CEST) Niektóre symbole są podane na stronie [https://web.archive.org/web/20180128055722/http://www.poradnik-webmastera.com:80/artykuly/html/znaki_specjalne_html.php] [[Wikipedysta:Persino|Mirosław Makowiecki]] ([[Dyskusja Wikipedysty:Persino|dyskusja]]) 20:44, 29 wrz 2009 (CEST) == Przenoszenie i usuwanie stron == W skrócie: trzeba poprawiać odnośniki, jeśli przeniesiesz stronę. Zmienianie nazw dla stron powoduje różne problemy z linkami, jak wiesz. Zanim zmienisz nazwę modułu, zajrzyj do lewego panelu, w "narzędzia" znajdziesz "Linkujące" - powinieneś zmienić treść wszystkich tych stron, aby linkowały do nowej strony. Przykład ze złym odnośnikiem - i nie wiem nawet, jak to poprawić [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna/Momenty_statystyczne_ciągłe_i_dyskretne przykład zerwania linka] -> 2.48 (problem w tym, że redirect który był został usunięty, i nie wiem nawet gdzie strona została przeniesiona) --[[Wikipedysta:Lethern|Lethern]] 10:42, 15 lip 2009 (CEST) Cóż... widzisz, jeśli wstawisz gdzieś EK, to znaczy że chcesz ten moduł usunąć z bazy wikibooks. Jeśli jest to redirect to usuwasz go. Jeśłi przeniosłeś stronę i na starej wstawiłeś EK, to starej już nie będzie (a mógł być redirect, dzięki czemu stare linki, niepoprawione, ze starą nazwą... można poprawić, bo dojdzie się do redicerta. Jeśli się go usunie, to stare linki są czerwone i nie wiadomo, gdzie prowadzą) --[[Wikipedysta:Lethern|Lethern]] 15:34, 16 lip 2009 (CEST) Podsumuję - jeśli strona była długo usuwana, przenosisz ją - wtedy nie ustawiamy EK, ponieważ zrywa się linki np. z google (jeśli jakieś zdążyły powstać), czy z innych stron, oraz z linków wewnętrznych (wzory itd. w innych modułach). Jeśli jednak zmiana była krótko po utworzeniu modułu, sprawdzone są linki i poprawione (nie ma linkujących), to stara strona (z redirectem) może dostać EK. wstawianie tego szablonu nie jest ważne, a do tego sprawia problemy, jak widać --[[Wikipedysta:Lethern|Lethern]] 15:39, 16 lip 2009 (CEST) == Poprawianie == Zrobiłem ostatnio poprawki tu: [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna/Momenty_statystyczne_w_działaniu&curid=14030&diff=103990&oldid=102011 Momenty statystyczne], gdzie nie gdzie zmieniałem całe zdania, najlepiej sprawdź czy sens jest zachowany. Jeśli nie, daj znać, wyjaśniając o co w zdaniu chodziło --[[Wikipedysta:Lethern|Lethern]] 09:37, 17 lip 2009 (CEST) == Przepełnienie szablonów == Wygląda na to że jednak musisz ograniczyć liczbę zawartych szablonów, choćby ze względów czasowych - strony z przesadną ilością szablonów wyświetlają się tragicznie długo. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 20:58, 2 sie 2009 (CEST) == Zmiana nazwy użytkownika == Proszę cię, żebyś na Wikipedii zalogował się jako Persino i odpisał mi na ostatnią wiadomość. Pozdrawiam, --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 11:31, 8 lis 2009 (CET) : Witam. Sprawdź, czy z globalnym loginem jest wszystko w porządku (trochę niepotrzebnie tworzyłeś tu to konto Persino) i daj mi znać. Jeśli nie będzie problemów, zablokuję konto Persino, żeby ktoś się pod ciebie nie podszywał. --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 23:07, 8 lis 2009 (CET) == kopiowaine == Przenoszenie materiału z wikipedii - administrator ma taką możliwość (funkcję) przenieść moduł razem z listą autorów / zmian. Myślę, że wystarczy napisać do jakiegoś aktywnego administratora. --[[Wikipedysta:Lethern|Lethern]] 15:21, 13 lis 2009 (CET) == Działania na wektorach == Edytowałem moduł [[Metody_matematyczne_fizyki/Działania_na_wektorach|Działania na wektorach]], mniej więcej do połowy przejrzałem. W jednym miejscu zaznaczyłem pochyłą czcionką coś, czego nie mogę rozczytać. Sprawdź, czy moja edycja nie zmieniła sensu tekstu ;) --[[Wikipedysta:Lethern|Lethern]] 03:30, 16 lis 2009 (CET) == [[Wikibooks:Strony do usunięcia]] == Witaj! cieszę się, że myślimy podobnie :-) Wikibooks, to bardzo specyficzny projekt (w ogóle wiki-projekty nadają się do badań socjologicznych i antropologicznych): mamy mało zarejestrowanych użytkowników, jeszcze mniej administratorów, wiele słomianego zapału i dużo anonimowych szkolnych edycji. Na szczęście - i myślę, że jeszcze przez długi czas - będzie to do opanowania (patrząc choćby po niemieckich Wikibooksach). Tym bardziej biorąc pod uwagę aktywność Panterki :-) Życie na Wikibooksach toczy się wolniej i po roku na Wikipedii, czuję się tutaj, jak na wsi. Ten projekt ma też kolosalną zaletę, której nie ma Wikipedia (o czym już kilkukrotnie rozmawiałem z Przykutą): łatwo odnaleźć pożądaną stronę i nie ma plątaniny meta-stron, stron-pomocy, pod-stron, hiper-stron itp. (jedynie szablony należy moim zdaniem uporządkować). Strony pomocy w Wikipedii to chaos a Wikibooksy nie są "obudowane" całą techniczną i społecznościową otoczką (na szczęście). Wracając do tematu: musimy ustalić konkretne zasady usuwania modułów, pojedynczych stron i całych podręczników. W przeciwnym razie będziemy mieli nadal mało kompletnych podręczników a mnóstwo sporów i wielu zrażonych początkujących użytkowników, którzy mogliby stać się autorami fachowych podręczników. Unikniemy też takich podziałów wśród autorów, jakie są na Wikipedii, gdzie co rusz padają oskarżenia o "układ" i "grupę trzymającą władzę". Podsumowując: idea Wikibooksów jest genialna a nic tak nie podbudowuje ego, jak pierwsze miejsce podręcznika w wyszukiwarce Google. Nie można więc marnować czasu na spory. Kończę, bo coś się rozgadałem... Pozdr! [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:35, 18 lis 2009 (CET) == [[Metody matematyczne fizyki/Logika matematyczna]] == Żadna strona nie linkuje do strony, którą dałem w temacie, umieść ją w jakimś spisie, bo możesz jej nie znaleźć w przyszłości ;) --[[Wikipedysta:Lethern|Lethern]] 03:39, 20 lis 2009 (CET) == [[Wikibooks:Przyznawanie uprawnień]] == Hej! poparłem Ciebie w głosowaniu (szkoda, że póki co wzięły w nim udział dwie osoby...). Dałem też ogłoszenie na Tablicy ogłoszeń - w końcu kandydat na admina, nie zdarza się często. Powinieneś zorganizować jakiś lobbying albo kampanię wyborczą :-) [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:22, 28 lis 2009 (CET) == pisanie podręczników == To dobre poprawki, jeśli chodzi o szablony. Z botem też ciekawy pomysł, jeśli umiałbyś go napisać, to zaoszczędziłby i Tobie dużo czasu, dużo poprawek, i rozwinął Wikibooks. Nie wiem, czy ktoś z zewnątrz by to pochwycił (np. w innych wikibooks), ale wystarczy, że u nas byłby niezłym krokiem do przodu. Ja akurat nie pisałem nigdy 'bota www' ;) --[[Wikipedysta:Lethern|Lethern]] 19:04, 29 lis 2009 (CET) == pewna edycja == Ktos dokonał takiej edycji: [http://pl.wikibooks.org/w/index.php?title=Fizyka_statystyczna/Cykle_(obiegi)_termodynamiczne&action=historysubmit&diff=114323&oldid=113019] --[[Wikipedysta:Lethern|Lethern]] 15:21, 30 lis 2009 (CET) :Rzecz w tym, że nie mogę cofnąć edycji, jeśli nie wiem czy jest ona poprawna czy jest błędna. Jedyne co mogłem zrobić to zgłosić ten fakt Tobie, żebyś ew. Ty ją cofnął, ponieważ masz większą wiedzę w tej dziedzinie ;) --[[Wikipedysta:Lethern|Lethern]] 21:03, 30 lis 2009 (CET) == [[Fizyka teoretyczna]] == Stworzyłem taki moduł, [[Fizyka_teoretyczna/Koordynacja]]. Na razie umieściłem tam tylko rzeczy, które mogą się dla mnie przydać. Jeśli chcesz, możesz tam dodać działy według swojego pomysłu i potrzeb --[[Wikipedysta:Lethern|Lethern]] 21:41, 30 lis 2009 (CET) == [[Dyskusja_Wikipedysty:79.190.12.155]] == Hmm, pomyśl globalnie. Czy ta edycja była wandalizmem, czy nieuwagą? Czy blokada IP "na zawsze" jest dobrą opcją z powodu jednej edycji? Czy wziąłeś pod uwagę, co się stanie, jeśli jest to IP komputera na uczelni? Nie ma potrzeby sięgać po tak drastyczne środki ;) --[[Wikipedysta:Lethern|Lethern]] 01:53, 1 gru 2009 (CET) == Administrator == Gratuluję, przyznałem Ci uprawnienia administracyjne. [[Wikipedysta:Reytan|Reytan]] 20:51, 11 gru 2009 (CET) * Pozwolę sobie dołączyć się do powyższych gratulacji :-) [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 23:19, 11 gru 2009 (CET) == Plik:Wikipedia pl logowanie mam konto.png == Cześć. usuniesz mi tą grafikę czy nie? [[Specjalna:Wkład/81.190.246.187|81.190.246.187]] 18:30, 13 gru 2009 (CET) :Nie wiem, co to za wpis, ale zignoruj go. Grafika jest użyta w 2 modułach. --[[Wikipedysta:Lethern|Lethern]] 14:27, 14 gru 2009 (CET) == EK == Zerknij do tej [[:Kategoria:Ekspresowe kasowanie|kategorii]], bo liczba haseł oczekujących na skasowanie znacząco rośnie. [[Wikipedysta:Viatoro|Viatoro]] 19:09, 28 gru 2009 (CET) == pozostałości starych modułów Fizyki Teoretycznej == Takie moduły znalazłem, które chyba się zapodziały (możliwe że któryś źle skojarzyłem), może Ci się ta lista przyda: *[[Fizyka_teoretyczna/Pochodne_wektorowe]] *[[Fizyka_teoretyczna/Wyznaczniki_funkcjonalne_i_ich_w%C5%82asno%C5%9Bci]] *[[Fizyka_teoretyczna/R%C3%B3wnania_r%C3%B3%C5%BCniczkowe]] *[[Fizyka_teoretyczna/Uk%C5%82ad_wsp%C3%B3%C5%82rz%C4%99dnych]] *[[Fizyka_teoretyczna/Obr%C3%B3t_uk%C5%82adu_wsp%C3%B3%C5%82rz%C4%99dnych]] *[[Fizyka_teoretyczna/Moment_p%C4%99du]] *[[Fizyka_teoretyczna/R%C3%B3wnanie_toru_dla_cia%C5%82a_w_polu_si%C5%82_centralnych]] *[[Fizyka_teoretyczna/Funkcje_kuliste]] *[[Fizyka_teoretyczna/Wielomiany_Legendre%27a]] *[[Fizyka_teoretyczna/Operatory_r%C3%B3%C5%BCniczkowe]] *[[Fizyka_teoretyczna/Rachunek_tensorowy]] *[[Fizyka_teoretyczna/Rozmaito%C5%9Bci_liniowe_i_ich_w%C5%82a%C5%9Bciwo%C5%9Bci]] *[[Fizyka_teoretyczna/Funkcje_uwik%C5%82ane]] *[[Fizyka_teoretyczna/Kula_zanurzona_w_przestrzeni_n-wymiarowej]] *[[Fizyka_teoretyczna/Zespo%C5%82y_statystyczne_w_fizyce_statystycznej_klasycznej]] *[[Fizyka_teoretyczna/Przestrze%C5%84_liniowa]] *[[Fizyka_teoretyczna/Pola_skalarne_i_wektorowe]] --[[Wikipedysta:Lethern|Lethern]] 20:42, 16 sty 2010 (CET) == po przerwie == Miło Ciebie widzieć po dłuższej przerwie. Sprawdź proszę taką dziwną stronę: [[Wikipedysta:Огірко_Ігор_Васильович]], dziś się pojawiła na Wikibooksach, a wygląda jak kopia z Wikipedii [http://pl.wikipedia.org/wiki/Wikipedysta:Ohirko_Igor Ohirko Igor] a jednocześnie [http://pl.wikipedia.org/wiki/Igor_Ohirko Igor Ohirko], co wydaje się jakimś nonsensem. [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 16:27, 12 lut 2010 (CET) * wyjaśniłem już wszystko w "Zgłaszalni błędów" na Wikipedii. Uznaliśmy, że skoro chodzi o strony użytkownika, to może on sobie tam wklejać co mu się podoba, nawet bezsensowną kopię artykułu o sobie z Wiki. [[Wikipedysta:Karol Dąbrowski|Karol]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 17:11, 12 lut 2010 (CET) == Fizyka == Cały podręcznik do fizyki teoretycznej był reorganizowany, a moduły przenoszone pod nowe adresy. Dotychczasowe dostawały eki i były kasowane. Nie jestem fizykiem i nie wiem, czy moduł ten [http://pl.wikibooks.org/wiki/Fizyka_statystyczna] różni się od tego [http://pl.wikibooks.org/wiki/Fizyka_statystyczna]. Jeśli są to dwa różne tematy, które nie powinny być zintegrowane, to przepraszam. A tak btw - "moduł" piszemy przez "u". [[Wikipedysta:Panterka|Panterka]] 22:09, 14 lut 2010 (CET) == Fizyka teoretyczna == Nie wiem, czy nie przeoczysz tego, więc wkleję link: [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna%2FFizyka_statystyczna%2FCykle_%28obiegi%29_termodynamiczne&action=historysubmit&diff=119150&oldid=114487 fizyka teoretyczna] --[[Wikipedysta:Lethern|Lethern]] 18:44, 16 lut 2010 (CET) Hm, przy rozdzielczości 1400x1050 wygląda trochę dziwnie, ale idzie się przyzwyczaić. Chyba zmiana na plus ; ) --[[Wikipedysta:Lethern|Lethern]] 23:52, 18 lut 2010 (CET) == [[Wikibooks:Strony do usunięcia]] == Witaj! mam prośbę do Ciebie jako admina: zerknij proszę na SdU, zrobiłem tam trochę porządków, zarchiwizowałem nieaktualne wpisy, ale przydałoby się, żebyś wypowiedział się w temacie: # [[Wikibooks:Strony_do_usunięcia#Informatyka_dla_szko.C5.82y_podstawowej.2FGadu-Gadu|Gadu Gadu]] (wg mnie do usunięcia) # [[Wikibooks:Strony_do_usunięcia#Biologia_dla_liceum.2FOrganizmy_najprostsze.2FWirusy|Wirusy]] (kopia z www.sciaga.pl i www.bryk.pl, mimo redakcyjnych poprawek) # [[Wikibooks:Strony_do_usunięcia#Stymulaty|Stymulaty]] (merytoryczna katastrofa, koniecznie do usunięcia) # [[Wikibooks:Strony_do_usunięcia#Tramwaje_w_Krakowie|Tramwaje w Krakowie]] (moim zdaniem do archiwizacji na stronie użytkownika a potem usunięcia. W razie czego chętnie podejmę się archiwizacji tego podręcznika. Będzie z tym co prawda sporo roboty, bo jest tam tych modułów, ale da się zrobić) # [[Wikibooks:Strony_do_usunięcia#Wprowadzenie_do_fizyki_kwantowej|Wprowadzenie do fizyki kwantowej]] (wisi w SdU od dawien dawna i straszy) # [[Wikibooks:Strony_do_usunięcia#Genealogia_Piast.C3.B3w|Genealogia Piastów]] (kompromitujące błędy merytoryczne) # [[Wikibooks:Strony_do_usunięcia#Tatry.2FSzczyty|Tatry]] (moduł nie był kwestionowany w trakcie akcji Sprzątanie Wikibooks, więc dyskusję możnaby ewentualnie uznać za zakończoną i zostawić to tak jak jest). # [[Wikibooks:Strony_do_usunięcia#J.C4.99zyk_.C5.9Bl.C4.85ski|Język śląski]] (dziś to wstawiłem i raczej trzeba należałoby poczekać, aż się Lethern i pozostawli wypowiedzą, co o tym myślą...) i to by było na tyle. Z góry dzięki za pomoc! [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:18, 7 mar 2010 (CET) == Księgozbiór == Jak myślisz, czy dobrym pomysłem byłoby scalenie w księgozbiorze sekcji "Astronomia" i "Fizyka" w jedną "Astronomia i Fizyka"? Podręczniki z tych działów się łączą, a dzięki temu dałoby się trochę odchudzić księgozbiór. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 17:46, 1 kwi 2010 (CEST) * zrobione, przy okazji ułożyłem sekcje alfabetycznie i dodałem tabelki. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:02, 1 kwi 2010 (CEST) == Wykresy == Napisz maila do Kuby Wagnera z Wolnych Podręczników (Kuba.Wagner@wolnepodreczniki.pl), którego znajdziesz na stronie: http://wiki.wolnepodreczniki.pl/Fizyka. Na niemieckich Wikibooks (http://de.wikibooks.org/wiki/Regal:Physik), w sekcji "Fizyka stosowana" (jeśli dobrze tłumaczę) jest coś takiego, jak "Użycie energii atomowej", ale tam nic nie ma. Jeśli chcesz, to mogę rzucić wątek szukania wykresów na niemieckim Wikiwersytecie (http://de.wikiversity.org/wiki/Fachbereich_Physik). Niestety też nie zauważyłem nic o fizyce jądrowej na niemieckich Wikiźródłach (http://de.wikisource.org/wiki/Kategorie:Physik). Z ciekawości zobacz sobie na "Mechanikę kwantową" (chyba, że znów mylę tłumaczenie): http://de.wikibooks.org/wiki/Quantenmechanik. Chyba, że fizyka jądrowa z Commons coś Tobie pomoże (http://commons.wikimedia.org/wiki/Category:Nuclear_physics) razem z odnośnikami z angielskiej Wiki (http://en.wikipedia.org/wiki/Nuclear_physics) i kategoria fizyka jądrowa (http://en.wikibooks.org/wiki/Category:Nuclear_Physics). To wszystko co mi przyszło do głowy. Pozdrawiam w świątecznym nastroju :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:00, 3 kwi 2010 (CEST) == Zgłoszenie co do podręcznika == Zapoznaj się z tym [http://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikipedysty%3AViatoro&action=historysubmit&diff=123773&oldid=123660]. [[Wikipedysta:Viatoro|Viatoro]] ([[Dyskusja Wikipedysty:Viatoro|dyskusja]]) 14:27, 16 kwi 2010 (CEST) :Ależ ja nic nie mówię, tylko zgłaszam co wylądowało w mojej dyskusji :) Robiłem wykład związany z wikibooks i ludzie z innych projektów głównie mnie kojarzą jako osobę kontaktową. [[Wikipedysta:Viatoro|Viatoro]] ([[Dyskusja Wikipedysty:Viatoro|dyskusja]]) 19:32, 16 kwi 2010 (CEST) == fizyk teoretyczna== Moje ostatnie poprawki: [http://pl.wikibooks.org/w/index.php?title=Metody_matematyczne_fizyki/Rachunek_tensorowy&action=historysubmit&diff=124372&oldid=124282 Rachunek_tensorowy]. Poza tym [http://pl.wikibooks.org/w/index.php?title=Fizyka_teoretyczna&curid=14032&diff=124370&oldid=124022 strona główna]. Mam nadzieję, że żadnych wadliwych poprawek nie wprowadziłem, jak coś to sprawdź. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:15, 16 kwi 2010 (CEST) == Eki == Witaj :) Widzę, że jesteś aktywny, więc pozwolę sobie mieć prośbę - czy mógłbyś sprzątnąć eki? Bardzo dawno nikt ich nie kasował i całkiem sporo się ich nazbierało. Z góry dzięki i pozdrowienia serdeczne :) [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 17:21, 6 maj 2010 (CEST) == informacja == Uważaj trochę co robisz. Skasowałeś moduł [[Matematyka dla liceum/Trygonometria]], który nie miał (wbrew pozorom) ek, jedynie miał moduł który miał ek, ale on sam nie powinien być skasowany. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 17:03, 22 maj 2010 (CEST) == Szablony: {{s|StronaStart}} i {{s|StronaKoniec}} == Już miałem Ciebie informować, że ktoś o anonimowy grzebał przy stworzonych przez Ciebie szablonach, ale zreflektowałem się, że to przecież Ciebie wylogowało i edytowałeś anonimowo :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 22:07, 12 cze 2010 (CEST) == ekowanie == Hej :) Wiem, że sprzątałeś eki, ale proszę jeszcze o skasowanie [[Matematyka dla liceum/Funkcje wymierne/Rozwiązywanie równań powiązanych z funkcją homograficzną|tego]] - wyjątkowo paskudny wandalizm, więc im szybciej poleci, tym lepiej :) Z góry dzięki i pozdrawiam serdecznie, [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 20:31, 13 cze 2010 (CEST) == Szczerę podziękowanie == Bardzo dziękuje za posprzątanie kategorii ek. O wiele lepiej teraz to wygląda :). Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 07:59, 1 lip 2010 (CEST) == Prośba == Proszę o przesłanie plików twojego/Pana autorstwa do Wikimedia Commons, gdzie będą w wszelkich projektach Wikimedia. Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 08:05, 1 lip 2010 (CEST) == Ek ciąg dalszy == Można by było posprzątać kategorię? Znalazłem ponad 130 plików, które albo są na Commons, nie są używane lub po prostu są błędne. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 19:35, 1 lip 2010 (CEST) :Dziękuje za posprzątanie. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 09:26, 3 lip 2010 (CEST) == Fizyka teoretyczna == czemu nie, jak coś będę zmieniać, to dam znać. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 13:52, 13 lip 2010 (CEST) Na stronie: http://pl.wikibooks.org/wiki/Metody_matematyczne_fizyki w nagłówku proponuję poprawić styl. Jest: "Jest to teoria o polach wektorowych i skalarnych, na które działamy pewnymi operacjami różniczkowymi." Proponuję zrobić: "... na które oddziałujemy pewnymi operacjami różniczkowymi" lub "na których działamy pewnymi operacjami różniczkowymi". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:49, 14 lip 2010 (CEST) == redirecty == Usuwanie redirectów nie jest potrzebne (wszystkie usunięte strony i tak zostają na serwerze zarchiwizowane), a do tego może narobić problemów. Tak jak już ludzie pisali, jeśli jakaś zewnętrzna strona linkowała, to teraz linkuje do nieistniejącej strony... Podobnie z usuwaniem stron plików, nie wiem czy jest to potrzebne, skoro wszystko na serwerze i tak zostaje. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 19:49, 15 lip 2010 (CEST) * Proszę, przestań nadużywać przenoszeń stron i usuwania --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 02:42, 7 sie 2010 (CEST) == Re:Fizyka teoretyczna == Mogę pomóc, ale jednocześnie informuje iż chwilowo mam dostęp do komputera, a jeszcze dziś wyjeżdżam na wakacje. Jak wrócę 25 lipca zajmę się tym. Pozdrawiam. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 07:29, 16 lip 2010 (CEST) == [[Metody matematyczne fizyki/Rachunek tensorowy]] == Dokonałeś zmiany *nazywamy obiekt który transformuje się ze zmiennych starych, których ilość wynosi ''m'' na *nazywamy obiekt, który transformuje się ze zmiennych starych, których ilość zmiennych jest ''m'' Cofnąłem tę zmianę, żeby nie było powtórzenia tego samego słowa (ze zmiennych, których ilość zmiennych jest). Nie umiem ocenić ani poprawić poniższych tekstów (i nie wiem, czy są poprawne, może są): *Dla przykładu podamy jak się transformuje tensor o dwóch wskaźnikach, dla dwóch zmiennych zapisanej w konwencji Einsteina. *A transformację tensora z jednych współrzędnych do drugich o dwóch wskaźnikach dla m zmiennych zapisanej w konwencji Einsteina. *Dla przykładu podamy jak się transformuje jako tensor o dwóch wskaźnikach, dla dwóch zmiennych zapisanej w konwencji Einsteina: *A transformację tensora z jednych współrzędnych do drugich o dwóch wskaźnikach dla m zmiennych zapisanej w konwencji Einsteina piszemy: Swoją drogą, zauważyłem że często powtarzasz pewne ważniejsze rzeczy w zdaniu, co czasem owocuje powtórzeniami (jak na początku powyższego wpisu wspomniałem). Mimo wszystko staram się usuwać takie powtórzenia, żeby tekst nie brzmiał jak "Poniżej napiszemy wektory, wzięte ze wzoru abc, które to wektory zapiszemy poniżej". W razie czego jestem otwarty na dyskusję. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 15:33, 16 lip 2010 (CEST) == [[Metody matematyczne fizyki/Działania na wektorach]] == *"W układzie współrzędnych w przestrzeni n-wymiarowej nazywamy n-prostych, zwanych osiami, przecinających się w jednym punkcie, zwanym punktem zerowym, którego współrzędne są równe (0,0,...,0). " To zdanie nie ma sensu. "W układzie nazywamy n prostych, zwanych osiami". Jeśli umiesz, popraw je. Może chodziło o *"W układzie współrzędnych w przestrzeni n-wymiarowej mamy n-prostych, zwanych osiami, przecinających się w jednym punkcie, zwanym punktem zerowym, którego współrzędne są równe (0,0,...,0). " --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 16:13, 16 lip 2010 (CEST) * zmieniłem styl w tym zdaniu, mam nadzieję, że na dobry :-) a czy mogę też dodawać linkido Wikipedii? brakuje mi też wyjaśnienia (proponuję w formie przypisu) co to jest "n-wymiarowa baza kanoniczna", a potem w sekcji "Iloczyn wektorowy" co to jest "układ kartezjański". Pozdr. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 18:33, 16 lip 2010 (CEST) == Metody matematyczne fizyki/Rachunek tensorowy == * W sekcji "Definicja prostego tensora metrycznego" brakuje mi wyjaśnienia, co to jest "długość infinitezymalna". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 11:50, 17 lip 2010 (CEST) * A widzisz, Ty to wiesz, a ja nie; myślę, że gdybyś wstawiał od czasu do czasu takie krótkie, celne wyjaśnienia w formie przypisów, to mogłoby to wzbogacić podręcznik. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:05, 17 lip 2010 (CEST) * W sekcji "Tensor Riemanna-Christoffela (tensor krzywizny) zdefiniowany przy pomocy tensorów metrycznych" coś brzmi dziwnie: "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy za tensory Christoffela zdefiniowanej wedle wzoru (2.82) i w końcu otrzymujemy wzór zależny tylko od pochodnych cząstkowych tensora metrycznego, co po jego zastosowaniu:" proponuję zmienić: "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy za tensory Christoffela zdefiniowane wedle wzoru (2.82)" <br>albo "Do wzoru na czterowskaźnikowy tensor metryczny (2.87) wstawiamy zamiast tensorów Christoffela zdefiniowanych wedle wzoru (2.82)"<br> i nie wiem, jak jest prawidłowo bo "za" to nie to samo co "zamiast". Zresztą - ta sekcja jest wymiatająca i wymiękłem na niej :-) [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:57, 17 lip 2010 (CEST) == Odp:Fizyka teoretyczna == ;[{{fullurl:Dyskusja_Wikipedysty:Magalia|oldid=133697}}#Fizyka_teoretyczna Odp:Fizyka teoretyczna] Hej :) Oczywiście bardzo chętnie pomogę. W miarę możliwości oczywiście, bo obawiam się, że fizyka mnie odrobinę przeraża, więc może być ciężko ;) Ale oczywiście zrobię co w mojej mocy. Pozdrowienia serdeczne. [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 23:57, 17 lip 2010 (CEST) Cześć, niestety brak czasu nie pozwala mi zaangażować się w prace. Powodzenia --[[Wikipedysta:Derbeth|Derbeth]] [[Dyskusja Wikipedysty:Derbeth|<sup>talk</sup>]] 11:07, 18 lip 2010 (CEST) * Wydaje mi się, że ewentualna zmiana "na podstawie" na "według" zależy od czyichś preferencji stylistycznych. [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 12:59, 25 lip 2010 (CEST) Dziękuję za zaproszenie, ale obowiązki zawodowo-studenckie uniemożliwiają mi poświęcenie odpowiedniej ilości czasu na ten projekt. Swoją drogą - doskonała robota. Mało tutaj tak ciekawych podręczników na tak wysokim poziomie ;-). Pozdrawiam, --[[Wikipedysta:Kj|Kj]] ([[Dyskusja Wikipedysty:Kj|dyskusja]]) 22:07, 28 lip 2010 (CEST) == Metody_matematyczne_fizyki/Układ_współrzędnych == Wiesz, brakuje mi, w w/w module wyjaśnienia co to takiego jest "Jakobian", o którym jest mowa w sekcji "Jakobian przejścia". [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:33, 11 sie 2010 (CEST) * to jakieś czary :-) * bo to czarna magia, a Ty czarodziej jesteś. A tak na poważnie: myślałeś może, żeby dodać do podręcznika krótkie biogramy fizyków, o których wspominasz? * raczej chodziło mi o dodanie do istniejących modułów krótkich biogramów. Jak się uwinę ze swoim podręcznikiem, to wstawię z jeden modelowy biogram i zobaczymy, czy to będzie w porządku, ok? == podręczniki Fizyki teoretycznej == Jak Ci się podoba nowy spis treści? Może taki być? [[Fale]] (łatwiej się poruszać z pierwszego spisu treści w ramce, oraz łatwiej widać poziomy drzewka) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 21:01, 13 sie 2010 (CEST) * Dodałem do wszystkich podręczników nowy spis treści, a także informacje o Bibliografii i Licencji (osobno, w razie czego możesz cofnąć / zmienić). Koordynację też uzupełniłem. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:22, 14 sie 2010 (CEST) * Zastosowałem taką regułę, aby pogrubiać wszystkie linki, które prowadzą do nowych stron (dzięki temu, jeśli ktoś chce otworzyć wszystkie strony, musi kliknąć we wszystkie linki pogrubione). Część z nich jest pogrubiana jako nagłówki, resztę wyróżniłem wewnątrz, np. [http://pl.wikibooks.org/w/index.php?title=Statystyka_matematyczna&action=historysubmit&diff=136572&oldid=136559 tu ]. Natomiast tu ta sama strona miała 2x pogrubienie, więc jedno usunąłem [http://pl.wikibooks.org/w/index.php?title=Elektrodynamika_klasyczna&action=historysubmit&diff=136573&oldid=136560 historia]. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 10:50, 14 sie 2010 (CEST) Nie można przejść obojętnie obok ilości pracy, jaką wkładasz w rozwój podręczników o fizyce i matematyce: [http://pl.wikibooks.org/w/index.php?title=Wikipedysta%3APersino&action=historysubmit&diff=137194&oldid=114782 diff] :) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 23:34, 17 sie 2010 (CEST) == Kategoria:Eksporesowe kasowanko == [[:Kategoria:Ekspresowe kasowanie|Proszę o posprzątanie kategorii]]. [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 16:10, 17 sie 2010 (CEST) :Dziękuje! [[Wikipedysta:Ananas96|Ananas96]] ([[Dyskusja Wikipedysty:Ananas96|dyskusja]]) 18:49, 17 sie 2010 (CEST) == Fizyka teoretyczna == Witaj! Chwilowo, w związku z innymi zobowiązaniami, niestety nie mogę przyłączyć się do projektu. Ale życzę owocnej pracy i pozdrawiam -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 18:41, 22 sie 2010 (CEST) == Program do grafiki == Niestety na grafice nie znam się. Wydaje mi się, że to jakiś program do edycji grafiki wektorowej, może coś wygooglujesz albo znajdziesz tutaj: [http://pl.wikipedia.org/wiki/Kategoria:Edytory_grafiki_wektorowej], ewentualnie pokaż to i spytaj kogoś znającego się na tym :) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 01:53, 23 sie 2010 (CEST) == [http://pl.wikibooks.org/wiki/Metody_matematyczne_fizyki/Obrót_układu_współrzędnych Obrót układu współrzędnych] == Mam problem z tym zdaniem: "Spróbujmy napisać transformacje obrotu punktu dla przestrzeni dwuwymiarowej odwrotnie ze wskazówkami zegara o kąt α, którego transformacje punktów z układu walcowatego do euklidesowego, którego transformacja współrzędnych układu walcowego na kartezjańskich piszemy wzorami i , to nowe współrzędne powstają, gdy podczas obrotu naszego punktu (x,y) do punktu (x',y'), gdy dokonamy transformacji, które piszemy:" : jest nieco niegramatyczne i nie wiadomo o co, w nim chodzi. Za dużo w nim wyrazów "który / która / które". Czy da się je podzielić na krótsze zdania? [[Wikipedysta:Karol Dąbrowski|Karolus]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 03:23, 24 sie 2010 (CEST) == alfabet grecki == Tylko tyle widzę w internecie: [[w:Alfabet_grecki#Alfabet_grecki_w_HTML]] - &Phi; &phi; : Żeby zapisać małe - tzn.? Może użyć jakiegoś tagu zmieniającego wielkość czcionki? Typu < small> albo indeks dolny --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:49, 25 sie 2010 (CEST) Ewentualnie Unicode: [[s:Unicode/Grecki_i_koptyjski]]; [[s:Unicode/Grecki_rozszerzony]] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 00:53, 25 sie 2010 (CEST) == Metody_matematyczne_fizyki/Funkcje_Greena == [[Metody_matematyczne_fizyki/Funkcje_Greena]] Nie udało mi się rozczytać w pełni: *''Rozwiązaniem równania różniczkowego (20.1) są rozwiązania w postaci pełnych funkcji w stosunku (20.6), która jest sumą rozwiązania jako ostatnio wspomnianego i funkcji , która jest iloczynem operatora \hat{O}\;, i funkcji \psi(\underline{x})\;, którego jako całość jest równa zero, co na podstawie tychże rozważań całkowitą nasze rozwiązanie naszego równania różniczkowego jest'' *''W wyrażeniu całkowym (20.7), funkcja \psi_0(x)\; występuje funkcja, która jest rozwiązaniem równania jednorodnego własnego operatora \hat{O}\;, którego przepis'' Zobacz czy inne poprawki są ok --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 01:45, 25 sie 2010 (CEST) * Musze przyznać, że nie bardzo orientuje się we własnościach intelektualnych. Może spróbuj wygooglować, albo na Wikipedii spytać? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:53, 29 sie 2010 (CEST) == prośba do administratora == Czy mógłbyś: *usunąć stronę [http://pl.wikibooks.org/w/index.php?title=Dinozaury/Ceratopsy&redirect=no] *usunąć stronę [http://pl.wikibooks.org/w/index.php?title=Wikipedysta:Michczu&redirect=no] Potrzebne to jest, żeby cofnąć przeniesienie stron --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 15:31, 31 sie 2010 (CEST) == Wzory == Wg tego artykułu [http://meta.wikimedia.org/wiki/Help:Displaying_a_formula#Relations] jest to \ll i \gg (<math>\ll i \gg</math>) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 03:09, 5 wrz 2010 (CEST) <del>Wg np. tej strony [http://barzilai.org/math_sym.htm] nie ma takiego symbolu w HTML --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]). 18:33, 5 wrz 2010 (CEST)</del> Zrobiłem [[Wikipedysta:Lethern/Test|tablice symboli html]], interesujące jest: 187: &#187; oraz 171: &#171; (& #187; i & #171;) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:45, 5 wrz 2010 (CEST) == ws. wykresu == wiesz, nigdy nie robiłem wykresów, więc mogę mieć z tym problem :-( z ciekawością natomiast zaglądam do [[Fizyka teoretyczna/Koordynacja]] i ciągle pamiętam o moim pomyśle dodawania biogramów fizyków. Pozdrawiam! [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 01:28, 6 wrz 2010 (CEST) == Prośba == Hej :) Zintegrowałam treść stron [[Książka kucharska/Ciasto naleśnikowe]] i [[Książka kucharska/Naleśniki]]. Czy mógłbyś połączyć historię tych modułów? Ale nie kasuj potem ciasta naleśnikowego - niech zostanie jako redirect, ok? Z góry dzięki i pozdrawiam serdecznie :) [[Wikipedysta:Magalia|Magalia]] ([[Dyskusja Wikipedysty:Magalia|dyskusja]]) 22:08, 8 wrz 2010 (CEST) == QuickEdit == Przejrzałem [[w:Wikipedia:Kawiarenka/Kwestie_techniczne|Tę stronę]] przy pomocy przeglądarkowej Szukaj "QuickEdit", i na szybko znalazłem, że może być temu winna skórka Vector (można ją w preferencjach wyłączyć), ale może znajdziesz w tym wątku więcej informacji (dodatkowo jest na niemieckiej wersji QuickEdit [http://de.wikipedia.org/wiki/Benutzer_Diskussion:ASM ta strona], piszą tam po angielsku) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:58, 11 wrz 2010 (CEST) == Fizyka teoretyczna ponownie == Rozumiem, że liczy się dla Ciebie opinia innych, aby pisać jeszcze lepiej i zrozumialej podręczniki. Też tak miałem, gdy pisałem swoje teksty do podręczników dla liceum. Do oceny dobre by były osoby, które próbowały by się nauczyć czytając te moduły. Ja czytałem podręcznik tylko w celu poprawienia zdań, więc nie zastanawiałem się, czy wszystko rozumiem, no i przeczytałem tylko mały kawałek całego materiału. Możesz spróbować uderzyć z propozycją gdzieś do ludzi. Takich, którzy albo a) zapoznają się z częścią, którą poprawialiśmy lub b) będą w stanie czytać podręczniki niepoprawiane. Gdyby udało się kogoś znaleźć, miałbyś pewnie dobrą ocenę, a komentarze i uwagi przydałyby się dodatkowo też mnie i Karolusowi, co byśmy również mogli poprawiać moduły. Gdzie kogoś takiego znaleźć? Może na Wikipedii, na jakimś forum matematycznym (fizycznym), na uczelni ogłoszenie możesz dać.. Problem jest właśnie z językiem, nie zdążyliśmy poprawić więcej jak 5% modułów, więc może to pewną grupę ludzi odstraszać, w przyszłości będzie łatwiej o czytelników. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 09:40, 12 wrz 2010 (CEST) * Moim zdaniem Twój podręcznik jest pisany przystępnym językiem naukowym, ponieważ masz rzadką umiejętność płynnego przechodzenia w opisach od jednego wzoru do następnego. Dzięki czemu Twój wykład jest logiczny. Budujesz logiczną i przejrzystą strukturę podręcznika. Prowadzisz czytelnika od wzorów prostych do rozbudowanych. Ponadto każdy moduł zamykasz ostatecznym wzorem, który jest ładną puentą tekstu. Dzięki temu każdy podrozdział tworzy zamkniętą całość. Jest to przydatne dla kogoś, kto chce nauczyć się określonego wycinka Fizyki teoretycznej. Jedyne, co można by było dopracować od strony literackiej, to kwestie gramatyki i stylu. Czasem też sygnalizowałem Tobie konieczność wyjaśnienia pewnych terminów, które dla fizyków są oczywiste, jednak objaśnienie ich w formie przypisów nikomu by nie zaszkodziło. Jednakże to możesz sobie zostawić na koniec, gdy już napiszesz wszystkie moduły. Radziłbym wtedy wziąć wiki-urlop (minimum tydzień), wrócić do komputera i przejrzeć na nowo cały tekst. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 15:15, 12 wrz 2010 (CEST) == Format svg i Openoffice draw == Kilka linków: [http://komputery.wip.pl/excel-i-aplikacje-biurowe/rozszerzenie-mozliwosci-openofficeorg-o-obsluge-formatu-svg,95,264155,0,195194,0.html], [http://haumacher.de/svg-import/], linki z [http://wiki.services.openoffice.org/wiki/SVG_Import_Filter#External_implementation] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 10:58, 19 wrz 2010 (CEST) == [[Szablon:StronaKoniec]] == Odnośnie tej edycji: [http://pl.wikibooks.org/w/index.php?title=Szablon%3AStronaKoniec&action=historysubmit&diff=136567&oldid=121717], czy jest ona konieczna? Są utworzone dwie tabelki "spis treści", dwa razy jest wyraz "pokaż/ukryj", i trzeba specjalnie kliknąć, aby ten spis był widoczny. Chyba, że to ukrycie było zamierzone. Może w takim razie zrobić dodatkowy argument w szablonie, który pozwala wybrać, czy spis treści ma być normalnie, czy w zwiniętej tabelce, co by pogodziło oba sposoby, bo można sobie wybrać? Jak Ty to widzisz? Pozdrawiam --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 16:47, 19 wrz 2010 (CEST) * [http://pl.wikibooks.org/w/index.php?title=Szablon%3AStronaKoniec&action=historysubmit&diff=141163&oldid=136567] wydaje mi się, że to było lepsze. Jeśli czegoś brakuje dla Ciebie, to można próbować dodać wersję zwykłą i alternatywę --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 18:51, 19 wrz 2010 (CEST) * Szukałem, ale nic nie znalazłem, jak zrobić aby mogło to być domyślnie ukryte. Nie wiem, co z tym zrobić, dodać parametr, żeby obie wersje były dostępne (z tabelką ukrywającą, jak wcześniej, i bez tabelki)? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:14, 19 wrz 2010 (CEST) ==Przeniesienia artykułów z historią autorów== Zerknij na stronę [[Wikibooks:Import stron]] -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:51, 24 wrz 2010 (CEST) == Poprawianie rysunków == Przykro mi, nie znam się na tym ani trochę :-( [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:19, 24 wrz 2010 (CEST) * pomyślę, a koło niedzieli popytam ludzi działających na Commonsach. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:33, 24 wrz 2010 (CEST) * dałem wczoraj informację o Twojej propozycji poprawiania rysunków na Tablicy ogłoszeń Wikipedii. Myślę, że tak szybciej znajdą się osoby potrafiące to robić. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 07:28, 28 wrz 2010 (CEST) :: Hej. :) O jakie konkretnie działania chodzi? Mogę pomóc w przerabianiu wykresów do SVG w Inkscape. -- [[Wikipedysta:CLI|CLI]] ([[Dyskusja Wikipedysty:CLI|dyskusja]]) 09:44, 29 wrz 2010 (CEST) :Zerknij [http://www.elisanet.fi/~d635415/webroot/Octavesvg/index.html tutaj] - to jest program do wykonywania SVG bezpośrednio z kodu Matlaba/Octave. Jak znajdą się chętni to możesz im polecić to narzędzi - lepiej kreślić funkcje przez matlaba niż w "Paintowy" sposób w InkScape. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 11:45, 29 wrz 2010 (CEST) :Konwersji można dokonywać albo w GdkPixbuf albo InkScape - ręcznie lub automatem przez otwarcie grafiki PNG i jej wektoryzację (funkcja programu "wektoryzuj bitmapę") i następnie zapis do pliku SVG - tylko automaty różnie mogą się zachowywać przy cienkich liniach czy wykresach - trzeba eksperymentować, lub ponoć (nie testowałem tego sposobu) po otwarciu PNG i jego wyeksportowaniu do SVG (ale podejrzewam ze to będzie SVG ale nadal z osadzoną grafiką rastrową. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 01:32, 2 paź 2010 (CEST) == Księgozbiór == Mam trochę wątpliwości: "Fizyka teoretyczna" i " Metody numeryczne fizyki" powinny być w tabelce "Niedokończone podręczniki". Streszczenia bym poprawił pod kątem stylu; czyli np. przy "Szczególnej teoria względności" zamiast: "Jest to dział fizyki zajmujących się przede wszystkim ruchem ciał poruszających się z prędkościami porównywalnymi z prędkością światła w próżni", to: "Podręcznik opisuje szczególną teorię względności, czyli dział fizyki zajmujący się przede wszystkim ruchem ciał poruszających się z prędkościami porównywalnymi z prędkością światła w próżni". Spróbuję siąść do tego na tygodniu przed urlopem. No i brakuje obrazków. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 20:22, 26 wrz 2010 (CEST) * Zerknij na poprawki: [[Wikibooks:Księgozbiór#Nauki_ścisłe_i_przyrodnicze]]. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 08:03, 28 wrz 2010 (CEST) == Metoda kolejnych poprawek trójmianu kwadratowego - metoda Bairstowa == Hej - nie znam tej metody i tylko "na szybko" rzuciłem okiem na 2 pierwsze równania i nie jestem pewien czy dobrze widzę - ale, przyjmując (3.95) za słuszne, już w 2 linijce wzoru (3.96) masz błąd przy wymnażaniu składnika <math>q_i</math> z nawiasem <MATH>(b_0z^{n-2}+b_1z^{n-3}+...+b_{n-1})</MATH>. Wyciągasz <math>z</math> przed nawias, ale nie degradujesz potęgi w wyrażeniu pod nawiasem więc zamiast wyrażenia: <MATH>zq_i(b_0z^{n-3}+b_1z^{n-4}+...+b_{n-2})</MATH> otrzymałeś <math>zq_i(b_0z^{n-2}+b_1z^{n-3}+...+b_{n-2})</math>. Następnie grupujesz je według Twojego obliczenia. Sprawdź czy to pojawienie się znikąd tego jednego 'zeta' nie było przyczyną problemu i innego wyniku. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 23:51, 30 wrz 2010 (CEST) == Mechanika kwantowa == Witaj! Znalazłem pominiętą stronę podręcznika: [[Mechanika_kwantowa/Funkcje_i_równania_falowe/Równanie_Kleina-Gordona]]. Czy będzie przydatna jeszcze? Jeśli nie wstaw szablon EK. -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 12:54, 3 paź 2010 (CEST) == Porzucone grafiki == Czy [[:Plik:Schemat_blokowy_licznika_z_komorą_jonizacyjna.png]] oraz [[:Plik:Czynnik Debye'a-Wallera.png]] będą jeszcze potrzebne - czy można je usunąć? -[[Wikipedysta:MonteChristof|MonteChristof]] <tt>[[Dyskusja Wikipedysty:MonteChristof|DMC]]</tt> 16:58, 4 paź 2010 (CEST) == Prośba == Czy możesz usunąć stronę (przekierowanie) [http://pl.wikibooks.org/w/index.php?title=Lo%C5%BCban/Wymowa&redirect=no]? Z góry dzięki --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 14:42, 7 paź 2010 (CEST) == Licencja == W swoich książkach umieściłeś wzmiankę o licencji GNU. Jednak brzmi to trochę tak, jakby materiał był oparty tylko na licencji GNU, a jednak wszystko co jest na Wikibooks jest także oparte na licencji CC. Czyli Twoje teksty są na dwóch licencjach, jednej dodanej przez Ciebie jako autora i drugiej wynikającej z projektu. I czytelnik może wybrać sobie dowolną z tych dwóch. Choć tekst akapitu "licencja" brzmi trochę tak, jakby tego wyboru nie było i obowiązywała tylko GNU. Może by tak dodać wzmiankę o CC? ([[Wikibooks:Bar#Licencje_i_ok.C5.82adki|w barze]] trochę więcej wyjaśnień o 2 licencjach) --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 22:19, 12 paź 2010 (CEST) == Re: Fizyka teoretyczna == Z wielką chęcią, choć jak widać na dacie twojego wątku na mojej dyskusji i tego widać że mam mało czasu, przyłączam się jeśli to aktualne, ale nie licz na systematycznośc! :) [[Wikipedysta:Jantoś|Jantoś]] ([[Dyskusja Wikipedysty:Jantoś|dyskusja]]) 17:57, 27 paź 2010 (CEST) : Czy to jest ok? [http://pl.wikibooks.org/w/index.php?title=Elektrodynamika_klasyczna%2FR%C3%B3%C5%BCniczkowe_i_ca%C5%82kowe_prawa_dla_elektrostatyki&action=historysubmit&diff=147299&oldid=135512] --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 20:16, 26 lis 2010 (CET) * Pośpiesznie wycofałem tę [http://pl.wikibooks.org/w/index.php?title=Metody_numeryczne_fizyki/Ca%C5%82kowanie_numeryczne_funkcji_interpolacyjnej&diff=next&oldid=147376 edycję], ale gdybyś mógł sprawdzić czy jej ewentualnie nie zostawić.. --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja Wikipedysty:Lethern|dyskusja]]) 14:15, 27 lis 2010 (CET) == awaria? == Persino wejdź natychmiast na [[Wikibooks:Bar]] i [[Pomoc:Spis treści]]. Wszędzie wyświetla mi się moduł, który właśnie edytujesz. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:40, 25 gru 2010 (CET) anulowałem swoje edycje, musiał wystąpić jakiś dziwny błąd systemu i przy dużej Twojej edycji nałożyła się ona na moje trzy drobne edycje, przywróciłem (mam nadzieję) już to do ładu. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 21:49, 25 gru 2010 (CET) == eki i blokady == wczorajsza awaria już się wyjaśniła. Lethern wziął świąteczny urlop, więc jakbyś miał chwilę, to usuń ek-i oraz odblokuj mi tą stronę: [[Wikibooks:O Wikibooks]]. Pracuję nad stronami pomocy i bardzo mi to ułatwi życie. Z góry dzięki [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 19:19, 26 gru 2010 (CET) == kolejne ek-i == wstawiłem eki-i w starych, nieużywanych i niepotrzebnych szablonach; czy mógłbyś je pousuwać, jak znajdziesz chwilę czasu? [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 09:16, 5 sty 2011 (CET) P.S. do usunięcia są jeszcze nieużywane pliki * http://pl.wikibooks.org/wiki/Plik:Żarówka.png * http://pl.wikibooks.org/wiki/Plik:Zwrot_kosztow_szkolen_niepelnosprawnych_2010.jpg * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_2.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_2.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_3.png * http://pl.wikibooks.org/wiki/Plik:B_wikibooks_4.png P.S. nr 2: i zbędne kategorie: * http://pl.wikibooks.org/wiki/Kategoria:Strony_z_błędami_ortograficznymi * http://pl.wikibooks.org/wiki/Kategoria:Strony,_w_których_przekroczone_jest_ograniczenie_wielkości_użytych_szablonów * http://pl.wikibooks.org/wiki/Kategoria:Grafika_Wikimedia * http://pl.wikibooks.org/wiki/Kategoria:Strony_indeksowane a koniecznie trzeba mi odblokować te strony: * [[MediaWiki:Recentchangestext]] * [[Szablon:Recentchanges]] == c.d. pracy nad meta-stronami == hej! usuniesz mi ek-i oraz odblokujesz: [[Szablon:WM/Regulamin]]? z góry dzięki. [[Wikipedysta:Karol Dąbrowski|Karol Karolus Dąbrowski]] [[Dyskusja Wikipedysty:Karol Dąbrowski|(zaprasza do dyskusji)]] 10:43, 17 sty 2011 (CET) == Talkback == Hello Mirosław, you have an unanswered question at [[Commons:User talk:Persino#your_badname_request]]. &nbsp; — <font size="4">[[w:en:User:Jeff G.|Jeff]] [[w:en:User:Jeff G./talk|G. ツ]]</font> 16:32, 30 sty 2011 (CET) == FUW == Zerknij: [http://brain.fuw.edu.pl/edu/Strona_g%C5%82%C3%B3wna na cc-by-sa 3.0]. Może by się przydało? Tylko zassać i podać autorów. [[Wikipedysta:Przykuta|Przykuta]] ([[Dyskusja Wikipedysty:Przykuta|dyskusja]]) 15:49, 12 lut 2011 (CET) == Przeniesienie szablonu Podręcznik == Witaj, trzeba cofnąć Twoje zmiany, bo nie przenieść tego szablonu w miejsce Szablon:StronaStart, ponieważ z tego szablonu korzysta sporo modułów (razem z Pomocą Wikibooks), a nie korzystają one z szablonu Podręcznik. Zrevertowałem [http://pl.wikibooks.org/w/index.php?title=Szablon:StronaStart&curid=19820&diff=169244&oldid=159391 zmiane StronaStart], ale wszystkie Twoje zmiany w podręczniku trzeba by też wycofać (usuwające szablon Podręcznik)... Sam pomysł zmieniania tak dużej ilości modułów bez użycia bota jest kiepski, może lepiej poprosić operatora Bota żeby się tym zajął? Miało już miejsce takie masowe zmienianie przez AlohaBOT ([http://pl.wikibooks.org/w/index.php?title=Mechanika_teoretyczna/Uk%C5%82ad_cia%C5%82_ograniczonych_wi%C4%99zami&diff=prev&oldid=166738 przykład]). Choć można spróbować poprawić szablon, żeby pasował do nowej wersji podręcznikow matematycznych, jak i do innych modułów w których jest użyty. Co o tym sądzisz? --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 17:55, 10 wrz 2011 (CEST) == Witaj po przerwie == Czołem Persino! miło Ciebie wiedzieć po długiej przerwie :) [[Wikipedysta:Karol Karolus|Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 09:31, 11 wrz 2011 (CEST) == Poradnik Hackhing == Witaj. Widzę że jesteś akurat Online, więc pisze do Ciebie. Znalazłem na wikia projekt informatyki i na stronie głównej coś tam wyczaiłem no i znalazłem [http://informatyka.wikia.com/wiki/Poradnik:Hacking to]. Jak widać, poradnik ten ma na celu przedstawienie zagrożeń ze strony internetu oraz zapobieganie im. (jak można wyczytać) Nie wiem jeszcze jaką ma licencje, ale skoro jest na wiki to musi być wolna. Związku z tym pytanie: Czy może być opublikowane na Wikibooks? Pozdrawiam --[[Wikipedysta:Kompowiec2|Marek H.]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 18:57, 24 wrz 2011 (CEST) == szablony StronaStart i StronaStart == Persino, sprawdź proszę, czy w/w szablony działają poprawnie, po ostatnich zmianach przestały pełnić swoją funkcję, zamiast być umiejscowione z boku strony porządkując ją, to wskakują na górę psując wygląd modułów. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 10:54, 23 paź 2011 (CEST) * dlatego, że po pierwsze nie było dobrze, bo było źle; a po drugie, bo lekceważysz sobie użytkowników tych szablonów: [[Wikibooks:Bar#szablony_StronaStart_i_StronaStart]]. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 23:15, 8 lis 2011 (CET) Hej, chciałem założyć temat, ale widzę, że już na mnie czeka :). Jestem świeżo na wikibooks i od razu rzucił mi się na oczy szablon {{s|StronaStart}}. Powiedzmy, że rozumiem koncept tego szablonu, ale: # U mnie nie działa: [http://awesomescreenshot.com/0e91ikc1c]. Wygląda to strasznie, nie mówiąc o zaśmiecaniu kodu :/ # Taki sam efekt, a nawet lepszy można uzyskać modyfikując swój plik .css użytkownika, już wrzucałem Karolusowi przykłady kodu zrobionego przeze mnie może w pół godziny, a dające przynajmniej możliwość osobom, które nie chcą menu na górze i wielkiej czcionki możliwość czytania domyślnie sformatowanego tekstu. [http://awesomescreenshot.com/0811fe0c8][http://awesomescreenshot.com/0411fe142] [[user:Yarl|Yarl]] [[user talk:Yarl|✉]] 19:49, 13 mar 2012 (CET) == układy pseudoskalarne == Cześć, Persino! Piszesz o trudnych sprawach, ale niezwykle ciekawych, więc zajrzałam. Niestety jest to powyżej moich możliwości (wolę poziom Świata Nauki), a poza tym rzucił mi się w oczy „kwiatek”, który bardzo szpecił piękną całość :( W kilku miejscach poprawiłam [[Wstęp do fizyki cząstek elementarnych/Wprowadzenie do teorii kwarków i układów kwarkowych (hadrony)#Mezony lekkie jako układy pseudoskalarne|tutaj]] , ale to chyba nie wszystko (np. nazwa ilustracji w Commons). Pozdrawiam Cię serdecznie --[[Wikipedysta:Joanna Kośmider|Joanna Kośmider]] ([[Dyskusja wikipedysty:Joanna Kośmider|dyskusja]]) 12:53, 22 kwi 2012 (CEST) == szablon treść == magiku od wiki-kodu, dasz radę tak ustawić parametry, żeby szablon zmieniał się co 3 dni? jest na tyle dużo polecanych książek, że akurat wtedy się tak wycyrkluje, że dana treść pojawi się raz w miesiącu. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 22:04, 2 lip 2013 (CEST) == interpolacja == Cześć. Dzięki za metody numeryczne fizyku. Ja szukałem funkcji przechodzącej przez dane punkty i znalazłem : http://zunzun.com/ Może cię zainteresuje. Szukam też pomocy w [[en:Fractals/Iterations_in_the_complex_plane/parabolic|dynamice parabolicznej]]. Jeśli jesteś zainteresowany to daj znać. Pozdrawiam. [[Wikipedysta:Adam majewski|Adam majewski]] ([[Dyskusja wikipedysty:Adam majewski|dyskusja]]) 21:39, 10 lut 2014 (CET) == {{int:right-upload}}, [[commons:Special:MyLanguage/Commons:Upload Wizard|{{int:uploadwizard}}]]? == [[Image:Commons-logo.svg|right|100px|alt=Wikimedia Commons logo]] Hello! Sorry for writing in English. As you're an administrator here, please check the message I left on [[MediaWiki talk:Licenses]] and the village pump. Thanks, [[m:User:Nemo_bis|Nemo]] 21:22, 18 wrz 2014 (CEST) <!-- Message sent by User:Nemo bis@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User_talk:Nemo_bis/Unused_local_uploads&oldid=9923284 --> == [[:Kategoria:Ekspresowe kasowanie]] == Cześć, wyczyściłbyś tą kategorię? Trochę się w niej nazbierało. [[Wikipedysta:Runab|Runab]] ([[Dyskusja wikipedysty:Runab|dyskusja]]) 18:17, 25 paź 2014 (CEST) == Odpowiadając == nie wiem, ale sądzę, że nie ma. [[Wikipedysta:Karol Karolus|Karol Karolus]] ([[Dyskusja wikipedysty:Karol Karolus|dyskusja]]) 16:02, 12 cze 2015 (CEST) == Bots == <div class="mw-content-ltr"> I apologize for sending this message in English. You are receiving this message because a technical change may affect a bot, gadget, or user script you have been using. The breaking change involves API calls. This change has been planned for two years. The WMF will start making this change on '''30 June 2015'''. A partial list of affected bots can be seen here: https://lists.wikimedia.org/pipermail/wikitech-l/2015-June/081931.html This includes all bots that are using pywikibot compat. Some of these bots have already been fixed. However, if you write user scripts or operate a bot that uses the [[:mw:API|API]], then you should check your code, to make sure that it will not break. What, exactly, is breaking? The "default continuation mode" for action=query requests to api.php will be changing to be easier for new coders to use correctly. To find out whether your script or bot may be affected, then search the source code (including any frameworks or libraries) for the string "query-continue". If that is not present, then the script or bot is ''not'' affected. In a few cases, the code will be present but not used. In that case, the script or bot will continue working. This change will be part of 1.26wmf12. It will be deployed to test wikis (including mediawiki.org) on 30 June, to non-Wikipedias (such as Wiktionary) on 1 July, and to all Wikipedias on 2 July 2015. If your bot or script is receiving the warning about this upcoming change (as seen at https://www.mediawiki.org/w/api.php?action=query&list=allpages ), it's time to fix your code! * The simple solution is to simply include the "rawcontinue" parameter with your request to continue receiving the raw continuation data (example <https://www.mediawiki.org/w/api.php?action=query&list=allpages&rawcontinue=1>). No other code changes should be necessary. * Or you could update your code to use the simplified continuation documented at https://www.mediawiki.org/wiki/API:Query#Continuing_queries (example <https://www.mediawiki.org/w/api.php?action=query&list=allpages&continue=>), which is much easier for clients to implement correctly. Either of the above solutions may be tested immediately, you'll know it works because you stop seeing the warning. Do you need help with your own bot or script? Ask questions in e-mail on the [[mail:mediawiki-api|mediawiki-api]] or [[mail:wikitech-l|wikitech-l]] mailing lists. Volunteers at [[:m:Tech]] or [[:w:en:WP:Village pump (technical)]] or [[:w:en:Wikipedia:Bot owners' noticeboard]] may also be able to help you. Are you using someone else's gadgets or user scripts? Most scripts are not affected. To find out if a script you use needs to be updated, then post a note at the discussion page for the gadget or the talk page of the user who originally made the script. [[:w:en:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[:w:en:User talk:Whatamidoing (WMF)#top|talk]]) 21:03, 17 cze 2015 (CEST) </div> <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=User:Whatamidoing_(WMF)/Sandbox&oldid=12455250 --> == tryb życia == Jakie przepisy masz na myśli? --[[Wikipedysta:Pedros.lol|Pedros.lol]] ([[Dyskusja wikipedysty:Pedros.lol|dyskusja]]) 18:54, 9 paź 2015 (CEST) :Jeżeli chodzi Ci o przypisy, to kopiowałem cytowania z Google Scholar, MLA --[[Wikipedysta:Pedros.lol|Pedros.lol]] ([[Dyskusja wikipedysty:Pedros.lol|dyskusja]]) 19:02, 9 paź 2015 (CEST) == [[s:Kategoria:Tablice matematyczne|Tablice matematyczne]] i [[s:Kategoria:Kody źródłowe|kody źródłowe]] z Wikiźródeł == Witaj! W Wikiźródłach mamy problem wyżej wymienionymi kategoriami. Są to przeważnie dawno umieszczone teksty (z lat ok. 2005–2007), które nie pasują do obecnej polityki publikacji projektu (teraz staramy się umieszczać teksty, które można zweryfikować na podstawie skanów). Zamierzam zgłosić je do usunięcia. Do Ciebie jako użytkownika zajmującego się fizyką komputerową i fizyką teoretyczną mam pytanie: czy tego typu tablice lub kody źródłowe mogłyby znaleźć miejsce w projekcie Wikibooks? Pierwszy z brzegu przykład do rozważenia: [[s:Tablica kwadratów|Tablica kwadratów]], [[s:Tablica kwadratów/kod|Tablica kwadratów/kod]] i [[s:Tablica sześcianów|Tablica sześcianów]]. Czy Twoim zdaniem jakąkolwiek wartość edukacyjną mają: * same te tablice? * kod źródłowy zastosowany do ich wygenerowania? * zamieszczone na dole stron przykłady użycia (odczytywanie dokładnych wyników, interpolacja oraz ekstrapolacja poza zakres uwzględniony w tablicy)? Czy uważasz, że można/warto umieścić je w Wikibooks jako * nowy samodzielny podręcznik [[Tablice matematyczne]]? * aneksy do któregoś z istniejących podręczników do matematyki? * kody źródłowe — w ogólnym podręczniku [[Programowanie]] lub w podręcznikach do konkretnych języków programowania? I ostatnie pytanie: czy do przeniesienia tych materiałów na Wikibooks potrzeba znaleźć osobę z uprawnieniami do importu stron, czy można je skopiować ręcznie, podając źródło w opisie zmian? Z kodami źródłowymi może być trudniej, ale tablice matematyczne raczej nie stanowią utworu w rozumieniu prawa autorskiego... Pozdrawiam, [[Wikipedysta:Ashaio|Ashaio]] ([[Dyskusja wikipedysty:Ashaio|dyskusja]]) 13:58, 26 lut 2016 (CET) == Re: Kasowanie okładek i normalnych stron == IPki które niby kasowały i wstawiały ek to też moja robota - naprawdę sądzisz że IPki wykonywałyby operacje porządkowe? ;) Jest to wynik dawnej dyskusji w której ustalono by skasować wszystkie okładki - gdzieś jest w archiwum baru, pod stertą mułu, poszukam w miarę możliwosci żeby nie było że zmyślam [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:54, 8 paź 2016 (CEST) * Znalazłem, bardzo proszę: [https://pl.wikibooks.org/wiki/Wikibooks:Bar/Archiwum11#problem_ok.C5.82adek Bar] [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 14:04, 8 paź 2016 (CEST) * Czemu przywracasz okładki? Znasz jakieś zastosowanie dla okładek? [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 10:09, 21 lis 2016 (CET) Hej, sądzę że okładki mogą zostać dla podręczników, dla których autor sobie życzy okładki, a co do wszystkich pozostałych podręczników (i ich okładek), to powinno być jakieś wspólne ustalenie (nie wiem czy coś się do tej pory zmieniło, ostatnio faktycznie była rezygnacja z okładek). Myślę że nie trzeba narzucać jednego rozwiązania na wszystkie przypadki, tak jak nawigacja: jest w niektórych książkach, a w niektórych nie ma, w zależności czy autor chciał czy nie --[[Wikipedysta:Lethern|Lethern]] ([[Dyskusja wikipedysty:Lethern|dyskusja]]) 15:36, 22 lis 2016 (CET) * Rozumiem. W takim razie ja usuwam ze swoich (bo i też moich książek dotyczyły rewerty) [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:02, 25 lis 2016 (CET) "A to wszystko można zrobić za pomocą języka Lua, tak jak ja zrobiłem spis treści za pomocą szablonu <nowiki>{{SpisTreści}}</nowiki> i automatyczne numeracje wzorów matematycznych!" - coraz częściej słyszę o tym języku jako recepta na wiele dupereli, chyba się w końcu nim zainteresuję ;) tylko jak miałbym taki skrypt uruchomić na wikibooksach? na jakiejś własnej stronie użytkownika, czy inaczej? [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 13:08, 25 lis 2016 (CET) == Share your experience and feedback as a Wikimedian in this global survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! Wikimedia Foundation prosi Cię o wyrażenie opinii w ankiecie. Chcemy wiedzieć jak dobrze wspomagamy Twoją pracę na i poza wiki oraz jak możemy zmienić lub ulepszyć różne kwestie w przyszłości.<ref group=survey>Ta ankieta dotyczy głównie opinii na temat bieżących prac Wikimedia Foundation, nie długoterminowej strategii.</ref> Opinie, którymi się podzielisz, bezpośrednio wpłyną na obecne i przyszłe prace Wikimedia Foundation. Zostałeś losowo wybrany do wzięcia udziału w tej ankiecie, tak, jak chcielibyśmy wysłuchać Twojej społeczności Wikimedia. Aby podziękować Ci za Twój poświęcony czas, rozdamy 20 T-shirtów Wikimedia do losowych uczestników tego badania.<ref group=survey>Kwestie prawne: Nie jest konieczne dokonanie zakupu. Trzeba być pełnoletnim aby uczestniczyć. Sponsorowane przez Wikimedia Foundation, zlokalizowana w 149 New Montgomery, San Francisco, CA, USA, 94105. Koniec 31 stycznia 2017. Nie obowiązuje gdzie zakazano. [[m:Community Engagement Insights/2016 contest rules|Kliknij aby zobaczyć regulamin konkursu]].</ref> Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. <big>'''[https://wikimedia.qualtrics.com/SE/?SID=SV_6mTVlPf6O06r3mt&Aud=VAE&Src=57VAEOP Weź udział w ankiecie teraz!]'''</big> Możesz dowiedzieć się więcej na temat [[m:Community_Engagement_Insights/About_CE_Insights|tego projektu]]. Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2016_Survey_Privacy_Statement|temu oświadczeniu prywatności]]. Odwiedź naszą [[m:Community_Engagement_Insights/Frequently_asked_questions|stronę z najczęściej zadawanymi pytaniami]], aby znaleźć więcej informacji na temat tego badania. Jeżeli potrzebujesz dodatkowej pomocy lub chcesz wypisać się z przyszłych prób komunikacji, wyślij e-mail na surveys@wikimedia.org. Dziękujemy! --[[:m:User:EGalvez (WMF)|EGalvez (WMF)]] ([[:m:User talk:EGalvez (WMF)|talk]]) 23:25, 13 sty 2017 (CET) </div> <!-- Wiadomość wysłana przez User:EGalvez (WMF)@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2016/57-VAEOP&oldid=16205400 --> <references group=survey /> == Działania administracyjne == Cześć, mógłbyś zajrzeć do SdU i EK? Jesteś jedynym obecnie aktywnym tu administratorem, a sprawa SdU wygląda wręcz, jakbyś to ignorował. <span style="font-weight:bold;">[[Wikipedysta:Kabexxxior|KABEXXX<span style="color:silver;">IOR </span>]]</span> ≡ <span style="text-decoration:none;margin-right:10px;">[[Dyskusja_wikipedysty:Kabexxxior|DYSKUSJA]] </span> 01:46, 3 lut 2017 (CET) == Ek == * Czasem zdarza się że zapomnę się zalogować i edytuje z IPka. W sumie jak się zajrzy w historie to po ekowaniu zalogowałem się i połączyłem arty. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 09:20, 5 wrz 2017 (CEST) == Share your experience and feedback as a Wikimedian in this global survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! Wikimedia Foundation prosi Cię o wyrażenie opinii w ankiecie. Chcemy wiedzieć jak dobrze wspomagamy Twoją pracę na i poza wiki oraz jak możemy zmienić lub ulepszyć różne kwestie w przyszłości. Opinie, którymi się podzielisz, bezpośrednio wpłyną na obecne i przyszłe prace Wikimedia Foundation. Zostałeś losowo wybrany do wzięcia udziału w tej ankiecie, tak, jak chcielibyśmy wysłuchać Twojej społeczności Wikimedia. Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. <big>'''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie teraz!]'''</big> Możesz dowiedzieć się więcej na temat tej ankiety [[m:Special:MyLanguage/Community_Engagement_Insights/About_CE_Insights|na stronie projektu]]. Zobacz jak Twoje zdanie pomaga Wikimedia Foundation wspierać edytujących takich jak Ty. Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu prywatności]] (po angielsku). Odwiedź naszą [[m:Special:MyLanguage/Community_Engagement_Insights/Frequently_asked_questions|stronę z najczęściej zadawanymi pytaniami]], aby znaleźć więcej informacji na temat tego badania. Jeżeli potrzebujesz dodatkowej pomocy lub chcesz wypisać się z przyszłych prób komunikacji, wyślij e-mail poprzez funkcję wysyłania e-maili do użytkownika, do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]], aby usunął Cię z listy. Dziękujemy! </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 20:36, 29 mar 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17881402 --> == Reminder: Share your feedback in this Wikimedia survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Każda odpowiedź w tej ankiecie może pomóc Wikimedia Foundation ulepszyć Twoje doświadczenia w projektach Wikimedia. Jak dotąd wysłuchaliśmy 29% współautorów projektów Wikimedia. Ankieta jest dostępna w różnych językach i jej wypełnienie może zająć od 20 do 40 minut. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie.]''' Jeżeli już wypełniłeś tę ankietę, z góry przepraszamy za to przypomnienie. Tę ankietę stworzyliśmy tak, aby nie dało się zidentyfikować użytkowników, którzy ją wypełnili, więc musimy rozesłać to przypomnienie wszystkim. <span class="mw-translate-fuzzy">Jeżeli chcesz wypisać się z listy adresatów przypomnień i informacji o kolejnych badaniach, wyślij e-mail do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]</span>. Możesz też wysyłać do niego zapytania odnośnie tego badania. [[m:Community_Engagement_Insights/About_CE_Insights|Dowiedz się więcej o tej ankiecie na stronie projektu.]] Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu prywatności]] Wikimedia Foundation. Dziękujemy! </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 03:34, 13 kwi 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17888784 --> == Your feedback matters: Final reminder to take the global Wikimedia survey == <div class="mw-parser-output"> <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> Witaj! To jest ostateczne przypomnienie o ankiecie Wikimedia Foundation, która zakończy się '''23 kwietnia 2018 (07:00 UTC)'''. Ta ankieta jest dostępna w różnych językach i zajmie między 20 a 40 minut. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=5&prjedc=ot5 Weź udział w ankiecie teraz.]''' '''Jeżeli już wypełniałeś tą ankietę - dziękujemy!''' Tę ankietę stworzyliśmy tak, aby nie dało się zidentyfikować użytkowników, którzy ją wypełnili, więc musimy rozesłać to przypomnienie wszystkim. Aby wypisać się z przyszłych badań, wyślij e-mail poprzez funkcję wysyłania e-mail do [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]. Na ten e-mail możesz wysłać również zapytania. [[m:Community_Engagement_Insights/About_CE_Insights|Dowiedz się więcej o tej ankiecie na stronie projektu.]] Ta ankieta jest hostowana przez zewnętrzny serwis i podlega [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|temu oświadczeniu Wikimedia Foundation w sprawie prywatności]]. </div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 02:43, 20 kwi 2018 (CEST) </div> <!-- Wiadomość wysłana przez User:WMF Surveys@metawiki korzystając z listy na https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot5&oldid=17888784 --> == EKi == Cześć, widzę że jesteś tu jedynym aktywnym administratorem - mógłbyś usunąć [[:Kategoria:Ekspresowe kasowanie|EKi]]? Wisi spam od prawie tygodnia... Z góry dzięki, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 22:45, 22 lip 2018 (CEST) == Ukrywanie == Mogę wiedzieć po co ukryłeś wersje w swoim podręczniku? --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 11:25, 31 lip 2018 (CEST) : Kto się na to uskarżał? Moim zdaniem to nadużycie tej funkcji. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 15:42, 31 lip 2018 (CEST) == Wiele edycji w Szablon:StronaStart == Przydatną rzeczą może być formularz "Podgląd strony z tym szablonem" pod oknem edycji, dzięki czemu nie trzeba co chwilę zapisywać, aby zobaczyć jak będzie wyglądała strona z nowym kodem szablonu. --[[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 16:17, 24 sie 2018 (CEST) == Statystyki oglądalności strony == Cześć, piszę do ciebie bo ty jako admin masz możliwość tworzenia i edytowania przestrzeni MediaWiki. Na Wikipedii, w zakładce "historia" jest link do fajnego narzędzia pokazującego statystykę odwiedzin danego artykułu (a także kilka linków do innych narzędzi). Fajnie by było dodać taką funkcję też na Wikibooks. Żeby to zrobić, trzeba utworzyć tę stronę: [[MediaWiki:Histlegend]], kopiując do niej zawartość [[w:MediaWiki:Histlegend|jej odpowiednika na Wikipedii]] (zmieniając oczywiście wszystkie linki z "pl.wikipedia.org" na "pl.wikibooks.org"). Mógłbyś to zrobić? Z góry dziękuję i pozdrawiam, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 17:17, 29 paź 2018 (CET) :Dzięki :) [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:21, 29 paź 2018 (CET) == Przypisy == Po twojej edycji w szablonie {{s|Przypisy}} przestał on działać tak jak poprzednio - dodając od razu sekcję <nowiki>==Przypisy==</nowiki>, tym samym wszystkie strony, na których był wcześniej użyty, mają popsute wyświetlanie przypisów (zniknęła sekcja) - przykład: [[Siewki roślin flory Polski/Liliowate]]. Masz zamiar to poprawić? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:10, 3 lis 2018 (CET) :Do tej pory szablon sam dodawał sekcję; jeżeli dokonujesz zmiany w szablonie, który jest używany na setkach stron, to wypadałoby posprzątać, albo zamiast tego utworzyć nowy szablon, nie dodający sekcji, a ten dodający zostawić na swoim miejscu. W tej chwili po twojej zmianie [https://pl.wikibooks.org/w/index.php?title=Specjalna:Linkuj%C4%85ce/Szablon:Przypisy&namespace=0&limit=500 na ponad 400 stronach] znikła sekcja "Przypisy". W dodatku w tym momencie opis szablonu jest wprowadzający w błąd, bo wciąż mówi, że dodaje sekcję. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 16:40, 4 lis 2018 (CET) ::Dzięki! :) [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 18:39, 4 lis 2018 (CET) == Literówka == Na stronie https://pl.m.wikibooks.org/wiki/Wikibooks:Poczekalnia w nagłówku, który jest nieedytowalny chyba bez odpowiednich uprawnień, jest urywek o treści: "Pełna lista stron, co do których przeprowadza się dyskuję, co dalej robić, znajdują się w " który jest z błędem. Powinno być "znajduje się" Piszę o tym do Ciebie, bo widzę, że Ty tam działasz. Pozdrawiam [[Wikipedysta:Lien Shan|Lien Shan]] ([[Dyskusja wikipedysty:Lien Shan|dyskusja]]) 12:57, 17 lis 2018 (CET) == Prośba o przywrócenie strony == Dzień dobry, Proszę o przywrócenie strony [[Lożban/Tanru i lujvo]] -- 17:17 Samuel sob 5 sty 2019 (CEST) *Na tej stronie nie jest nic merytorycznego napisane! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:27, 5 sty 2019 (CET) *Bo dopiero ją tworzymy! A teraz zniknęło kilka ważniejszych tłumaczeń! -- 16:42 Samuel sob 5 sty 2019 (CET) **Odzyskuję na waszą odpowiedzialność! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:46, 5 sty 2019 (CET) ***Dziękuję -- 16:48 Samuel sob 5 sty 2019 (CET) == Powód blokady? == Dlaczego wycofałeś edycje i zablokowałeś użytkownika [[Wikipedysta:Robert Poklek|Robert Poklek]]? Nie widzę, żeby zrobił cokolwiek złego, najwyraźniej miał zamiar zacząć pisać nową książkę, do której utworzył link i kategorię. Możesz wyjaśnić powody blokady i rewertów? Pozdrawiam, [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 19:20, 3 mar 2019 (CET) :A, faktycznie, nie zauważyłam że dawał linki do zewnętrznych stron internetowych. Widocznie jednak chciał tylko zrobić reklamę. Dzięki za wyjaśnienia. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 20:02, 3 mar 2019 (CET) == darknet w praktyce == * Witaj, powiedz mi proszę w jaki sposób usunięte przez Pana strony namawiają do łamania prawa. Książka nie jest o piraceniu czy crackingu, tylko opowiada o zachowaniu prywatności przede wszystkim, poprzez hardering. Z tego co wiem w Polsce nie ma obowiązku podawania prawdziwych danych w internecie ani nie zakazują szyfrowania jak w UK. [[Wikipedysta:Kompowiec2|Kompowiec2]] ([[Dyskusja wikipedysty:Kompowiec2|dyskusja]]) 23:54, 20 mar 2019 (CET) strony wisiały od wielu lat, przewinęło się tu wielu adminów do tej pory i żaden nie zwrócił na to uwagi, pozdrawiam. == Pascha (potrawa) == Czy mógłbyś zaimportować artykuł [[w:Pascha (potrawa)|Pascha (potrawa)]] z Wikipedii do podstrony [[Książka kucharska/Pascha]]? Po imporcie dobrze byłoby usunąć wszystkie wersje strony (w trybie usuwania wersji), które nie zawierały przepisu na potrawę, a następnie z najnowszej wersji usunąć (delete) całą treść oprócz przepisu. [[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 13:56, 19 kwi 2019 (CEST) == Odp:Na przykład szablon: NPA == ;[{{fullurl:Dyskusja_wikipedysty:Salicyna|oldid=292347}}#Na_przykład_szablon:_NPA Odp:Na przykład szablon: NPA] Nie wiem, musiałabym się wczytać uważnie w kod szablonu i przetestować by wiedzieć, czy to coś zmienia. To chyba nie ma znaczenia, zresztą i tak w praktyce tego szablonu się już raczej nie używa, jeśli zauważy się NPA to kasuje się w trybie EK... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:19, 29 cze 2019 (CEST) == Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Fundacja Wikimedia pragnie poprosić cię o Twoją opinię w ankiecie na temat doświadczenia związanego z {{SITENAME}} i fundacją. Celem tego badania jest dowiedzieć się w jaki sposób Fundacja wspiera twoją pracę na wiki i jak możemy to zmienić lub poprawić w przyszłości. Twoje przemyślenia będą miały bezpośredni wpływ na obecną i przyszłą pracę Fundacji Wikimedia. Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 16:34, 9 wrz 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19352874 --> == Reminder: Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Kilka tygodni temu zapraszaliśmy Cię do wypełnienia ankiety Community Insights. Jest to coroczne badanie społeczności na całym świecie, organizowane przez Wikimedia Foundation. Chcemy dowiedzieć się jak bardzo nasza praca wspiera wiki. We are 10% towards our goal for participation. Jeżeli jeszcze nie wypełniłeś naszej ankiety, możesz pomóc nam osiągnąć nasz cel! '''Twój głos ma dla nas znaczenie.''' Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 21:14, 20 wrz 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19395141 --> == Reminder: Community Insights Survey == <div class="plainlinks mw-content-ltr" lang="pl" dir="ltr"> '''Podziel się swoim doświadczeniem w ankiecie!''' Cześć {{PAGENAME}}, Zostało już tylko kilka tygodni na wypełnienie ankiety Community Insights! We are 30% towards our goal for participation. Jeżeli jeszcze nie wypełniłeś naszej ankiety, możesz pomóc nam osiągnąć nasz cel! Dzięki tej ankiecie Wikimedia Foundation uzyska opinie na temat tego, jak dobrze wspiera Twoją pracę na wiki. Wypełnienie zajmie tylko 15-25 minut, a ma bezpośredni wpływ na jakość udzielanego przez nas wsparcia. Poświęć, proszę, 15 do 20 minut na '''[https://wikimedia.qualtrics.com/jfe/form/SV_0pSrrkJAKVRXPpj?Target=CI2019List(other,act5) wypełnienie tej ankiety]'''. Jest ona dostępna w różnych językach. Ta ankieta jest udostępniana przez zewnętrzną usługę i [https://foundation.wikimedia.org/wiki/Community_Insights_2019_Survey_Privacy_Statement podlega następującym postanowieniom dotyczącym prywatności] (w języku angielskim). Znajdź [[m:Community Insights/Frequent questions|więcej informacji o tym projekcie]]. [mailto:surveys@wikimedia.org Napisz do nas] jeżeli masz pytania, lub jeśli nie chcesz otrzymywać w przyszłości wiadomości dotyczących tej ankiety. Z wyrazami szacunku, </div> [[User:RMaung (WMF)|RMaung (WMF)]] 19:04, 4 paź 2019 (CEST) <!-- Wiadomość wysłana przez User:RMaung (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=CI2019List(other,act5)&oldid=19435548 --> == Blocking User:WMFOffice? == Can I say that blocking the WMF's office account is a brave move, and probably unwise. Prior to blockingan account like that, can I suggest that you check the user page from meta [[User:WMFOffice]] and/or permissions at CentralAuth [[Special:CentralAuth/WMFOffice]]. [[Wikipedysta:Billinghurst|Billinghurst]] ([[Dyskusja wikipedysty:Billinghurst|dyskusja]]) 22:55, 13 lis 2019 (CET) == Vandalism == Hi, I see that you are an active administrator here. Could you check [[Specjalna:Wk%C5%82ad/83.10.130.131]]'s edits are take appropriate actions if needed? Thanks in advance. [[Wikipedysta:Masumrezarock100|Masumrezarock100]] ([[Dyskusja wikipedysty:Masumrezarock100|dyskusja]]) 13:05, 23 sty 2020 (CET) == Vandal == [https://pl.wikibooks.org/wiki/Specjalna:Wkład/2A02:A319:C044:B000:AC27:AC07:BA6B:755D] is a vandal. I could find admins noticeboard, so I'm leaving it here. [[Wikipedysta:Sk4mp|Sk4mp]] ([[Dyskusja wikipedysty:Sk4mp|dyskusja]]) 19:59, 5 lut 2020 (CET) == Terms of Use == Hello, Persino What is this user doing? https://pl.wikibooks.org/w/index.php?title=Ksi%C4%85%C5%BCka_kucharska/Podp%C5%82omyki_%C5%9Bwi%C4%99tokrzyskie&action=history That sort of editing is against [[wmf:Terms of Use]]. Making such edits, mass reverting on ones *own* edits, inserting a dot and then removing it... I sincerely hope you might consider informing the user in the Polish language. Hope this helps everybody in question. Thanks for a reply if you chose to. Truly yours, -- [[Wikipedysta:Nesmir Kudilovic|Nesmir Kudilovic]] ([[Dyskusja wikipedysty:Nesmir Kudilovic|dyskusja]]) 17:01, 14 lut 2020 (CET) == Przenoszone strony == Tak. Trzeba je skasować. [[Wikipedysta:Świętokrzyskie3|Świętokrzyskie3]] ([[Dyskusja wikipedysty:Świętokrzyskie3|dyskusja]]) 10:09, 25 kwi 2020 (CEST) == Kategoria Wikizeszyty == Bo to coś innego... To osobny wikiprojekt i musimy kierować pod konkretne zasoby nauczycieli, którzy będą z tego korzystać. Omówię to z kolegami i koleżankami i zwrócę uwagę na twoją uwagę :) [[Wikipedysta:Klarqa|Klarqa]] ([[Dyskusja wikipedysty:Klarqa|dyskusja]]) 13:09, 12 maj 2020 (CEST) == Szablon [[Szablon:sr|sr]] == Wydaje się w porządku, ale trzeba to potem sprawdzić na jakieś większej książce. Gdy to tworzyłem, to sprawdzałem na [[VHDL/Spis treści]] i tam to nie powoduje błędów. Trzeba teraz wziąć jakąś książkę z rozdziałami i podrozdziałami i tam sprawdzić, czy Twoja zmiana ma, że tak powiem, "ręce i nogi". A i jeżeli odpowiadam w złym miejscu, to przepraszam, ale na Wiki to byłem baaaaaardzo dawno temu i już zapominałem jak komunikuje się tu na stronach dyskusji :(. [[{{ns:user}}:Felix|Felix]] ([[{{ns:user talk}}:Felix|dyskusja]] <small>•</small> [[Special:Contributions/Felix|edycje]]) 17:00, 22 maj 2020 (CEST) == Przenosiny == Ja jeszcze nie mam takich uprawnień, żeby przenosić artykuły. [[Wikipedysta:Snd125671|Snd125671]] ([[Dyskusja wikipedysty:Snd125671|dyskusja]]) 17:35, 12 cze 2020 (CEST) == usunięcie [[Książka kucharska/Wuzetki II]] == Zapomniałam wstawić szablon zintegrowany. Teraz już [https://pl.wikibooks.org/wiki/Specjalna:Linkuj%C4%85ce/Ksi%C4%85%C5%BCka_kucharska/Wuzetki_II linkuje] . [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 16:57, 20 cze 2020 (CEST) Przyjrzałam się dokładniej tutejszej wersji szablonu {{s|zintegrowany}} i... czy ten szablon został przetłumaczony z automatu i porzucony? Czemu tylko z "siostrzanych projektów Wikibooks lub różnych ich wersji językowych" a nie np. pl.wikibooks.org? Czemu "pochodzi w całości" a nie np. "częściowo"? [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 17:05, 20 cze 2020 (CEST) * Hej. Widzę, że popełniłam małe ''faux pas''. Nie zauważyłam, że to Ty pracowałeś nad tym szablonem. Mam nadzieję, że Cię jakoś nie uraziłam. Tak więc, teraz jest "Ten artykuł jest efektem integracji z inną jednostką na Wikibooks. Zawarta choćby częściowo tu treść pochodzi w całości z artykułu". Może drugie zdanie dać takie jak [https://pl.wikipedia.org/wiki/Szablon:Zintegrowany tu]: "Zawarta tu treść pochodzi częściowo z artykułu". Słowa "jednostka" nie oceniam, bo nie znam tutejszej nomenklatury. [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 18:20, 22 cze 2020 (CEST) * Dobra, zapowiada się na dłuższą dyskusję:). Proszę o (ewentualne) kontynuowanie jej w Wikibooks - przeniosłam Twoje wpisy na [[Dyskusja_wikipedysty:SpiderMum|moją tutejszą stronę dyskusji]]. Po drugie, ponownie proszę o odtworzenie strony [[Książka kucharska/Wuzetki II]]. Powód: zintegrowałam artykuł [[Książka kucharska/Wuzetki II]] z artykułem [[Książka kucharska/Wuzetki]], w ten spobób, że po pierwszym zostało tylko przekierowanie. Jest to przypadek opisany tu [https://pl.wikipedia.org/w/index.php?title=Pomoc:Integracja&oldid=57143097#Krok_2A._Stary_artyku%C5%82_%C5%BAr%C3%B3d%C5%82owy_pozostaje_jako_przekierowanie Krok 2A. Stary artykuł źródłowy pozostaje jako przekierowanie]. Czy w Wikibooks przyjęliście inny podział na wydzielone/zintegrowane? [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 19:11, 22 cze 2020 (CEST) PS Bardzo Cię przepraszam za ten chaos w edycjach - trochę się spieszę i takie są efekty. *: Dzięki. [[Wikipedysta:SpiderMum|SpiderMum]] ([[Dyskusja wikipedysty:SpiderMum|dyskusja]]) 17:48, 23 cze 2020 (CEST) == Linki na stronie głównej == Cześć! Poproszę o zmianę linków na stronie głównej. Chodzi o linki do stron Fundacji i Stowarzyszenia. Zmień kod tak samo, jak zrobił to Peter Bowman na Wikisłowniku: [[wikt:Specjalna:Diff/7409893]]. Z góry dziękuję. [[Wikipedysta:Tar Lócesilion|Tar Lócesilion]] ([[Dyskusja wikipedysty:Tar Lócesilion|queta!]]) 23:45, 28 sie 2020 (CEST) == Potrzebuję pomocy :) == Hej, czy moglbys mi pomoc? Chodzi o ksiazke kucharska. : 1. Chcialabym dodac nowy rozdzial (cos w rodzaju "Kucharskie Vadamecum"), w ktorym znalazlyby sie praktyczne informacje na temat roznych rzeczy przydatnych przy gotowaniu, np: :: 1.1. Dzial przyprawy, a w nim np. opis bazylii - do jakich potraw sie nadaje, z jakimi innymi przyprawami sie laczy, jak ja prawidlowo przygotowac przyd uzyciem, jak i jak dlugo mozna ja przechowywac itp. :: 1.2. Dzial miesa, a w nim informacje na temat roznych mies, np. wolowina - poszczegolne czesci wolu, jakie czesci do jakich potraw sie nadaja, czy lepiej jest je piec, gotowac, smazyc czy grillowac, czym co przyprawiac itp. :: 1.3. Dzial warzywa, a w nim informacje na temat roznych warzyw, np. pieczarki - jak je prawidlowo smazyc, zeby nie zaczely sie gotowac we wlasnym sosie, do jakich potraw sie nadaja, jakie przyprawy do nich pasuja itp. :: 1.4. ... : 2. Ponadto na wstepie ksiazki kucharskiej (https://pl.wikibooks.org/wiki/Ksi%C4%85%C5%BCka_kucharska) jest spis tresci, a poszczegolne kategorie sa pisane raz duza raz mala litera - moglbys to jakos poprawic? (np. "dania miesne" vs. "Kuchnia wegetarianska" i inne) Pozdrawiam serdecznie --[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:25, 30 sie 2020 (CEST) :: Dziekuje za wskazowke! --[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:57, 31 sie 2020 (CEST) == Proszę sprawdzić email == Witaj, {{PAGENAME}}: Proszę sprawdzić email! Temat: "The Community Insights survey is coming!" Jeśli masz jakieś pytania, wyślij e-mail na adres surveys@wikimedia.org. (English: Please check your email and spam! Subject is "The Community Insights survey is coming!" If you have questions, email surveys@wikimedia.org.) Sorry for the inconvenience, [[:pl:Special:Diff/60928651|you can read my explanation here]]. [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 18:24, 25 wrz 2020 (CEST) <!-- Wiadomość wysłana przez User:Samuel (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Samuel_(WMF)/Community_Insights_survey/pl&oldid=20478443 --> == Przepisy z numerkami == Móc, zapewne mógłbym, ale jak na jednego to duuuża praca, a ja nie wiem, jak długo tu pobędę, na co dzień będąc zaangażowany bardziej w innych projektach wikipedyjnych. Kulinariami zająłem się trochę jako przerywnikiem w dotychczasowej działalności, choć nie kryję, że wypełnianie Książki kucharskiej różnymi ciekawymi daniami obcych kuchni sprawiło mi przyjemność. Nieco tych "numerkowych" poprawiłem pod drodze, ale to spore zadanie, a w sumie wolałbym się tu skoncentrować na merytorycznych tekstach niż na redakcyjnym porządkowaniu. Niemniej, co jeszcze mogę, to zrobię. Pozdrawiam - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 15:57, 8 lis 2020 (CET) == odp. Onomastyka == Dziekuje!--[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:16, 5 sty 2021 (CET) == Odp:Książka w przestrzeni nazw Kategoria == ;[{{fullurl:Dyskusja_wikipedysty:Superjurek|oldid=401614}}#Książka_w_przestrzeni_nazw_Kategoria Odp:Książka w przestrzeni nazw Kategoria] W odpowiedzi na Twoje pytanie. Ten zabieg, który wzbudził Twoje poważne wątpliwości jest jak najbardziej przemyślany. Zdaję sobie sprawę, że do tworzenia książek służy przestrzeń główna, ale ideą tego podręcznika, jest żeby na wszystkie zadania, które powstaną były katalogowane i automatycznie sortowane według ich odniesień do podstawy programowej. Taką opcję w naturalny sposób zapewniają strony kategorii. W przestrzeni głównej, którą również zamierzam wykorzystać, umieszczam kolejne zadania. Ich kolejność numeryczna ma w tym przypadku wynikać tylko i wyłącznie z ich kolejności powstawania. Za przykład mogę podać [[Zbiór zadań maturalnych/Biologia/Zadania/1|Zadanie 1]]. Kiedy rozwiniesz ramkę z napisem klucz odpowiedzi, to wyskoczy Ci odniesienie do podstawy programowej zarówno pod kątem celów kształcenia i treści nauczania. Podstawa programowa w polskim systemie oświaty ma charakter kaskadowy, z tego też powodu zastosowałem kaskadowe kategorie. Szablony typu <code><nowiki>{{PP2017/LO/Biologia/PR/C/III/2}}</nowiki></code> lub <code><nowiki>{{PP2017/LO/Biologia/PR/T/XII/1/4}}</nowiki></code> są szablonami wypełniającymi w formatce klucza odpowiedzi odpowiednie odniesienie do podstawy programowej i jednocześnie przypisują kaskadowo dla tego zadania odniesienia do kolejnych poziomów podstawy programowej. [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 09:31, 9 kwi 2021 (CEST) :Dodam jeszcze, że jest to inicjatywa, którą w takim kształcie chciałbym wykorzystać do wsparcia merytorycznego innych nauczycieli. W tym zbiorze zadań zamierzam tworzyć dla maturzystów autorskie zadania, zachęcać do tego innych nauczycieli i zlecać jako pracę dodatkową licealistom, aby takie zadania próbowali zredagować. Na Wikibooks to jest o tyle dobre, że w razie gdyby zadanie zawierało błędy merytoryczne, będzie można je skorygować. Niekonwencjonalne wykorzystanie kategorii uważam tu za kluczowe element tego podręcznika, bo podstawa programowa przez swój kaskadowy charakter wymaga możliwości sortowania tych zadań. Dzięki temu nauczyciele będą mogli tworzyć własne arkusze próbnych matur albo ćwiczeń na lekcje, wybierając je z odpowiedniej kategorii. Teraz to nie jest jeszcze takie widoczne, ale jak powstanie z 300 lub 600 zadań, to te kategorie będą nieodzowne. Jak widzisz podstawa na powyższych szablonach, tutaj musi być zastosowana chirurgiczna precyzja, zadanie 1 w tym przypadku realizuje: *<code>PP2017</code> podstawę programową z roku 2017 :*<code>LO</code> dla liceum ogólnokształcącego ::*<code>Biologia</code> z Biologii :::*<code>PR</code> z poziomu rozszerzonego ::::*<code>C</code> z celów kształcenia :::::*<code>III</code> rozdziału III ::::::*<code>2</code> punktu 2 [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 09:45, 9 kwi 2021 (CEST) Co do Wikijunior, to w tym przypadku ono również nie ma zastosowania, bo jest inicjatywą przewidzianą dla dzieci do lat 12, a ten zbiór zadań zaadresowany jest do maturzystów.[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 10:00, 9 kwi 2021 (CEST) == pytanie o funkcjonalność JavaScriptu do Zbioru zadań maturalnych == Cześć, zwracam się z pytaniem o to, co powinienem zrobić, aby zadziałał mi skrypt [[Wikipedysta:Superjurek/common.js]] podczas zapisywania nowego zadania maturalnego? Kod zawarty w tym skrypcie ma wymuszać automatyczne odświeżanie poniższych 2 stron: *[[Zbiór zadań maturalnych/Biologia]] *[[Zbiór zadań maturalnych/Biologia/Zadania]] Pytanie, jak zrobić żeby odświeżał te dwie strony przy zapisaniu nowego zadania? Jeśli uzyskałbym ten efekt, to przestałoby być konieczne ręczne odświeżanie tych dwóch stron. Myślę tu o tym, żeby skrypt ułatwiał życie innym nauczycielom biologii i licealistom chcących wrzucić kilka zadanek maturalnych. Po opublikowaniu jednego musiałby pamiętać o odświeżeniu, co dla niewprawionych użytkowników chcących tylko wrzucić zadanko może być zniechęcające. Ponadto, jeśli nie odświeży, to licznik będzie przekierowywał następnych do numeru zadania już istniejącego, zamiast do numeru następnego (czyli jeszcze nieistniejącego). Stąd też mój zamiar postawienia tego skryptu. Z góry dziękuję za pomoc [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 16:29, 29 kwi 2021 (CEST) :{{Ping|Superjurek}} Już się szykuje skrypt do aktualizowania danej strony i do trybu ciemnego! :* Aktualizacja strony, skrypt: [[Wikipedysta:Persino/Gadget-StronicowyParser.js/AktualizacjaStron.js]]. :* Tryb ciemny, skrypt: [[Wikipedysta:Persino/Gadget-StronicowyParser.js/Tryb_ciemny.js]]. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:19, 27 maj 2022 (CEST) == Prośba o pomoc w naprawieniu modułu. == Cześć Persino, zwracam się do Ciebie z prośbą o pomoc – bo już nieraz umiałeś wyciągnąć mnie z technicznych tarapatów :) Tym razem nie na Wikibooks, ale na Wikipedii. Chodzi o problem opisany w [[w:Dyskusja modułu:Lewandowska&Malik1991]]. Z góry dziękuję za pomoc! Pozdrawiam [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 12:58, 29 sie 2021 (CEST) == Ad:Kategoria:Polecane książki/Terapia zajęciowa == ;[https://pl.wikibooks.org/w/index.php?title=Kategoria:Polecane_ksi%C4%85%C5%BCki/Terapia_zaj%C4%99ciowa&oldid=407198#bodyContent Ad:Kategoria:Polecane książki/Terapia zajęciowa] No właśnie nie jestem pewien kategorii. W klasyfikacji zawodów terapeuta jest klasyfikowany jako " inny średni personel do spraw zdrowia" więc może medycyna? Gdzie byłby podręcznik pielęgniarstwa przykładowo? W Wikipedii artykuł mamy w pedagogice specjalnej. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 13:47, 21 paź 2021 (CEST) :Terapia to jest coś wspomagającego leczenie w medycynie konwencjonalnej, ale nie jest samą medycyną. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:50, 21 paź 2021 (CEST) ::Już poprawiłem na kategorię: Kategoria:Medycyna. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:59, 21 paź 2021 (CEST) == How we will see unregistered users == <section begin=content/> Cześć! Otrzymujesz tę wiadomość, ponieważ jesteś administratorem w jednym z projektów Wikimedia. Obecnie, kiedy ktoś edytuje stronę, nie będąc zalogowanym, w historii wyświetla się jego adres IP. Jak być może już wiesz, nie będziemy mogli tego robić w przyszłości. Jest to decyzja prawników Fundacji Wikimedia, spowodowana zmianami w przepisach o ochronie prywatności w internecie. Zamiast adresu IP będziemy wyświetlać maskowaną tożsamość. Ty jako administrator{{gender:{{ROOTPAGENAME}}||ka|(-ka)}} '''będziesz nadal {{gender:{{ROOTPAGENAME}}|mógł|mogła|mógł/mogła}} zobaczyć oryginalne IP'''. Utworzymy nowe uprawnienie, przeznaczone dla osób, które potrzebują widzieć pełen adres, aby walczyć z wandalizmami, spamem itp. bez uprawnień administratorskich. Patrolujący będą mogli zobaczyć fragment IP również bez tego uprawnienia. Pracujemy również nad [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/Improving tools|lepszymi narzędziami]], wspierającymi w walce przeciwko nadużyciom. Jeśli jeszcze o naszych działaniach nie {{gender:{{ROOTPAGENAME}}|czytałeś|oczytałaś|czytałeś(-aś)}}, możesz się z nimi [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|zapoznać na Meta]]. Aby nie przegapić technicznych zmian na wiki, możesz [[m:Global message delivery/Targets/Tech ambassadors|zasubskrybować]] cotygodniowe wydania [[m:Tech/News|Tech News]]. Mamy [[m:IP Editing: Privacy Enhancement and Abuse Mitigation#IP Masking Implementation Approaches (FAQ)|dwa pomysły]] na implementację maskowania adresów IP. '''Chętnie poznamy twoją opinię'''. Daj nam znać [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|na stronie dyskusji]], co sądzisz na ich temat i tego, który pomysł się sprawdzi lepiej na twojej wiki, teraz i w przyszłości. Możesz napisać w swoim języku. Sugestie są dostępne od października, a ostateczną decyzję podejmiemy po 17 stycznia. Dziękujemy. /[[m:User:Johan (WMF)|Johan (WMF)]]<section end=content/> 19:18, 4 sty 2022 (CET) <!-- Wiadomość wysłana przez User:Johan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Admins2022(6)&oldid=22532666 --> == [[Teoria grup przemiennych]] == Zostaje mi tylko podziękować. (-: --[[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 16:07, 11 mar 2022 (CET) == Nawigacja == Tak jak ostatnio, wielkie dzięki. --[[Specjalna:Wkład/2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303|2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303]] ([[Dyskusja wikipedysty:2A01:11CF:42F:7A00:81D8:ECCB:3DAE:1303|dyskusja]]) 19:00, 15 kwi 2022 (CEST) == Szablon {{s|Wolumin}} == Dzięki za informację. Musze chyba więcej poczytać o polskich kategoriach. Nie wiem jak edytowac recznie kategorie, są jakby ukryte. Dzięki [[Wikipedysta:Soul windsurfer|Soul windsurfer]] ([[Dyskusja wikipedysty:Soul windsurfer|dyskusja]]) 17:21, 30 lis 2022 (CET) : czy mógłbyś mi wskazać gdzie mogę poczytać o kategoriach. Widziałem stronę szablony wolumin ale to nie rozwiazało moich watpliwości. Dzięki :: dzięki. Czy istnieje narzędzie, które doda taki wpis do każdej strony książki ? --[[Wikipedysta:Soul windsurfer|Soul windsurfer]] ([[Dyskusja wikipedysty:Soul windsurfer|dyskusja]]) 07:08, 2 gru 2022 (CET) == Poprawki dla urządzeń mobilnych == Cześć. Chciałbym poprawić działanie na urządzeniach mobilnych. Widzę, że głównie Ty tutaj edytujesz, więc pytanie czy masz przeciwko? Chodzi głównie o elastyczność stron (żeby strony się ściskały). [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 20:04, 5 gru 2022 (CET) :Aha. Jakby co jestem już adminem interfejsu m.in. na Wikisource i na Wikipedii. [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 20:07, 5 gru 2022 (CET) :A mógłbyś odbezpieczyć ten szablon: {{s|Strona główna/Siostrzane projekty Wikibooks}}. Ew. wystarczy mi jak dodasz tam jakąś klasę w pierwszym wywołaniu ElastycznaKolumna. [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 21:30, 5 gru 2022 (CET) ::OK, skończyłem. Powinno teraz wyglądać przyzwoicie :-). Pozdrawiam, [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 22:37, 5 gru 2022 (CET) :::Hm... No nie jest lepiej. Teraz strona jest za szeroka w wersji mobilnej. A poza tym jak przenosisz, to wypadałoby podać autora ;-) [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 11:28, 6 gru 2022 (CET) ::::No wycofaj swoje zmiany to będzie dobrze. Nie wiem po co zmieniasz jak nie testujesz ;-P [[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 11:40, 6 gru 2022 (CET) :* OK, teraz jest w porządku. Dzięki za dodanie informacji o autorach :). :* Nawiasem mówiąc myślę, że w tych różnych style.css wystarczy niższy poziom zabezpieczenia. Wystarczy jak nie będzie można zmieniać tego anonimowo. Ew. tylko redaktorzy, o ile używacie tutaj takiej rangi/poziomu uprawnień. Jak widzisz po moich zmianach i tak można dodać CSS do strony głównej inną drogą ;). Możesz też zrobić zabezpieczenie kaskadowe, ale to może zabezpieczyć znacznie więcej niż jest sensowne. Niektóre strony główne w ogóle nie są zabezpieczone. :* Aha. Jakbyś chciał testować wersję mobilną, to w tzw. devtools (CTRL+SHIFT+I) jest symulacja widoku z telefonu komórkowego. Tylko musiałbyś jeszcze wchodzić na specjalny adres [https://pl.m.wikibooks.org/ pl.m...]. Sama zmiana szerokości okna nie wystarczy. Możesz mi zaufać. Zajmuję się tym od jakichś 20 lat (od czasów jak jeszcze nie było DevTools i nie było Chrome). Jakby co więcej o używania symulacji smartfona znajdziesz tutaj: https://firefox-source-docs.mozilla.org/devtools-user/responsive_design_mode/ Symulacja nie oddaje wszystkich aspektów (np. ekranu dotykowego), ale daje rozsądne przybliżenie doświadczenia. Możesz spróbować dostosować inne ważne strony w ten sposób. :[[Wikipedysta:Nux|Nux]] ([[Dyskusja wikipedysty:Nux|dyskusja]]) 14:49, 6 gru 2022 (CET) == Tabulator == Hej, czy moglbys mi pomoc? Nie wiem, czy istnieje polecenie dla tabulatorow (tak jak np. ''<''''br''''>'' dla linefeed). Jezeli tak, to jaki jest ich kod? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:00, 29 sty 2023 (CEST) : Dziekuje! == Szablon tabeli w szablonie quizu == Hej, przeszkadzam Ci? Jezeli tak, to po prostu powiedz. Jezeli nie, to mam klopot - wyprobowalam wszystkie mozliwosci tabulatorow, ktore znalalam w linku od Ciebie, ale zaden z nich nie dziala tak, jak bym to sobie wyobrazala. Katastrofa. Teraz chcialabym osiagnac cel "tabelkowosci" poprzez umieszczenie szablonu tabeli w szablonie quizu. Ale to najwyrazniej nie dziala - pojawia sie "blad w skladni". Probowalam roznych rzeczy (np. <nowiki><quiz display=simple> { |type="[]"}</quiz></nowiki> albo <nowiki><quiz display=simple> { |type="()"})</quiz></nowiki>. ale nic nie pomaga. Czy moglbys mi jakos pomoc? * Przyklad: [https://pl.wikibooks.org/wiki/Niemiecki/Exc/Imperfekt] [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:00, 29 sty 2023 (CEST) == Chcę dodać sekcję do artykułu Brydżowe tablice prawdopodobieństwa == Witaj, Persino. Zwracam się do Ciebie jako admina Wikibooks. Jakieś dwa lata temu poprawiłem stronę https://pl.wikibooks.org/wiki/Bryd%C5%BCowe_tablice_prawdopodobie%C5%84stwa, zmieniając prawie wszystkie prawdopodobieństwa w części Rozkład kart jednego koloru u przeciwników (uzasadnienie zmian podałem w Dyskusji tej strony). Wcześniej uzyskałem obietnicę admina, że nie cofnie moich zmian, mimo że nie będą poparte źródłami (bo sam napisałem arkusz kalkulacyjny, który wyliczył te prawdopodobieństwa). I rzeczywiście ta edycja nie została cofnięta. Nie pamiętam, kto był tym adminem, więc zwracam się do Ciebie: napisałem jeszcze jeden arkusz kalkulacyjny, który wyprodukował tabelę prawdopodobieństw, że mój partner (lub określony z przeciwników) ma k z n kart, których nie mam ja (np. w określonym kolorze). Jest to przydatne w fazie licytacji. Czy jeśli to zrobię, moja edycja nie zostanie cofnięta? Nie chcę robić tego bez takiej obietnicy, bo jednak konwersja arkusza na tabelę wiki to spora robota. Chyba, że jest automat, który pozwoli na taką konwersję - jeśli tak, to proszę o wskazówki. Arkusz obecnie jest w formacie .ods, ale mogę go zamienić na .xls. Z góry dziękuję [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 16:52, 26 lut 2023 (CET) :Cześć, Persino. :Udało mi się opanować w oparciu o https://pl.wikipedia.org/wiki/Pomoc:Tabele#Tabela_sformatowana_(zalecany_kod_tabeli) konwersję fragmentu :arkusza na tabelę wiki - jeśli uznasz poniższy opis za wart tego, to będę wdzięczny za :zamieszczenie go na tej stronie. Chyba, że mogę to zrobić sam - napisz mi. :W historii strony "Brydżowe tablice prawdopodobieństwa" może zauważysz, że skasowałem swoją edycję i wkrótce ją ponowiłem. To dlatego, że :wydawało mi się trudne wygenerowanie tabeli "Prawdopodobieństwa (w %), że partner (lub określony przeciwnik) ma przynajmniej k kart z n :brakujących (np. w określonym kolorze)" - umiałem wygenerować "Prawdopodobieństwa (w %), że partner (lub określony przeciwnik) ma NAJWYŻEJ :k kart z n brakujących (np. w określonym kolorze)", która jest mniej wygodna do użycia. Ale wkrótce po opublikowaniu zmian wymyśliłem jak to zrobić i zrobiłem. Niestety :tym razem zapomniałem wypełnić pole "Wypełnij opis zmian" - mam nadzieję, że osoby czytające Historię zmian domyślą się, że powinien on być :taki jak dla edycji, którą skasowałem: Dwie nowe tabele przydatne w fazie licytacji. :'''Konwersja prostokątnego fragmentu arkusza kalkulacyjnego na tabelę wiki''' :(Wytestowane pod Windows 10 na arkuszu Open Office Calc wersja 4.1.13). :Być może warto najpierw w arkuszu dopasować format komórek - np. ograniczyć do dwóch miejsc po przecinku; w Open Office Calc :robi się to tak: [Alt-F] [Komórki] [Zakładka Liczby] [Kategoria Numer] [Opcje Miejsca po przecinku] 2 :Następnie w arkuszu dodaj na lewo od danego obszaru kolumnę wypełnioną napisem |- i skopiuj obszar wraz z tą kolumną do Notatnika. :Przy kopiowaniu z arkusza do Notatnika kolumny są oddzielane znakiem Tab, ale nie można tego znaku wpisać z klawiatury do pola [Znajdź] :- zaznacz ten znak w tekście (myszą lub przez [Shift+strzałka]) i naciśnij [Ctrl+H] - :wypełni to pole [Znajdź] znakiem Tab; w polu [Zamień na] wpisz | i kliknij [Zamień wszystko]. Następnie skopiuj całość do :Open Office Writera (bezpłatny) i podmień wyrażenia regularne: \| na \n| (bo znaczniki muszą być w nowych wierszach; można by umieszczać :znacznik || bez nowego wiersza, ale wtedy trudniej zrobić globalną podmianę); wyrażenia regularne :włącza się za pomocą przycisku [Więcej opcji]. Po wykonaniu [Zamień wszyst.] na początku wstaw wiersz {| class="wikitable" :i ewentualnie |+ Tytuł :a na końcu wiersz |} :Jeśli pierwszy wiersz obszaru ma być traktowany jak nagłówki, podmień w odpowiednich wierszach | na ! (trzeba kliknąć [Zamień] tyle razy :ile kolumn ma tabela). Jeśli masz aktywne wyrażenia regularne, to w polu [Znajdź] musisz mieć \| :Tak wyprodukowany tekst można wkopiować do Wiki. :Puste komórki w kopiowanej części arkusza wyprodukują puste kratki tabeli - czasem to dobre a czasem złe. :[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 11:20, 27 lut 2023 (CET) == Ad:Dyskusja wikipedysty:Salicyna == ;[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty%3ASalicyna&diff=457257&oldid=292350&diffmode=source#bodyContent Ad:Dyskusja wikipedysty:Salicyna] Cześć, jaki cel miała ta edycja? Dostałam tylko niepotrzebnie powiadomienie o tym że napisałeś na mojej dyskusji, myślałam już że coś ważnego... Nudzi ci się? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:07, 5 kwi 2023 (CEST) :Nie było żadnego błędu technicznego. Takie edycje, polegające tylko na porządkowaniu kodu, można ewentualnie wykonywać przy okazji innej, znaczącej edycji, a nie spamować innym użytkownikom niepotrzebnymi powiadomieniami że ktoś do nich napisał... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:25, 5 kwi 2023 (CEST) ::Możesz przestać spamować? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 09:35, 5 kwi 2023 (CEST) :::To już zakrawa na czystą złośliwość z twojej strony... Czy naprawdę nie rozumiesz, że jak edytujesz czyjąś stronę dyskusji, to ta osoba dostaje czerwone powiadomienie o nowych wiadomościach i e-maila o tym że ktoś do niej napisał – i wchodzi specjalnie na Wikibooks sprawdzić co od niej chcesz po ty by zobaczyć że po raz szesnasty tego samego dnia poprawiasz tylko jakąś bzdurkę techniczną, która równie dobrze mogłaby zostać jak była i nic by się nie stało? Dostałam dziś 16 maili i powiadomień że do mnie piszesz... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 21:09, 5 kwi 2023 (CEST) == Historia Słowacji == To nie była żadna kopia z Wikipedii, tylko świetna książka. [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:42, 30 kwi 2023 (CEST) : {{Ping|ZAJCOPEDIA}} Ale fragmentami ściągnięta z tego serwisu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:44, 30 kwi 2023 (CEST) ::Może i tak, ale po co ją od razu usuwać? [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:45, 30 kwi 2023 (CEST) ::: {{Ping|ZAJCOPEDIA}} To wygląda na NPA. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:50, 30 kwi 2023 (CEST) ::::Na co? [[Wikipedysta:ZAJCOPEDIA|ZAJCOPEDIA]] ([[Dyskusja wikipedysty:ZAJCOPEDIA|dyskusja]]) 14:56, 30 kwi 2023 (CEST) ::::: {{Ping|ZAJCOPEDIA}} NPA to naruszenie, praw autorskich, które tutaj należały do {{NAZWASERWISU|Wikipedii|link=tak|klucz projektu=w}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:26, 30 kwi 2023 (CEST). == Czy mogę opublikować artykuł o nowej wersji E-notacji? == Witaj, Persino. Mam pomysł dotyczący modyfikacji E-notacji, tak by była wygodniejsza w użyciu. Czasopisma matematyczne nie chcą go opublikować, bo nie pasuje do ich tematyki (nie dziwię się). Czy mógłbym go opublikować w Wikibooks? Na razie mam spisaną wersję angielską, ale jeśli to konieczne, to mogę ją przetłumaczyć na polski. Czy będę mógł w haśle Notacja naukowa w Wikipedii zrobić link do tego artykułu? To by znacznie podniosło liczbę czytelników. [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 14:24, 23 maj 2023 (CEST) A czy w polskiej Wikibooks mogę publikować po angielsku? [[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 16:18, 23 maj 2023 (CEST) :Witaj, Persino. :Opublikowałem polską wersję artykułu [[Notacja West-East i Bin]]. Początkowo chyba wyświetlała się dobrze, ale ostatnio na dwóch komputerach zamiast wzorów pokazuje się komunikat: :Parser nie mógł rozpoznać (SVG (MathML może zostać włączone przez wtyczkę w przeglądarce): Nieprawidłowa odpowiedź („Math extension cannot connect to Restbase.”) z serwera „http://localhost:6011/pl.wikibooks.org/v1/v1/”:): {\displaystyle x} :- ten wzór miał wypisywać x w trybie matematycznym; inne wzory generują podobny komunikat. Czy wiesz, co może być tego przyczyną i jak ją usunąć? Komunikat proponuje wtyczkę do przeglądarki, ale jaką? Jak ją zainstalować w Chrome'ie? :Najdziwniejsze, że gdy wchodzę w edycję wersji źródłowej i patrzę na podgląd, to jest wszystko w porządku (zarówno w podglądzie w prawym oknie jak po kliknięciu przycisku Podgląd). :Z góry dziękuję za pomoc. :[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 12:01, 11 cze 2023 (CEST) ::Wykonałem pustą edycję - kliknąłem Edytuj i Opublikuj zmiany. Rzeczywiście pomogło na błąd parsera, ale nadal każdy wzór math jest w osobnej linii, a to mi nie odpowiada. Po kliknięciu Edytuj jest tak jak chcę. Poradź jak zrobić, żeby normalnie się pokazywało tak jak w prawym oknie po Edytuj, albo zgódź się na obecną pierwszą linijkę artykułu. ::[[Wikipedysta:MusJabłkowy|MusJabłkowy]] ([[Dyskusja wikipedysty:MusJabłkowy|dyskusja]]) 13:12, 12 cze 2023 (CEST) == Propozycja skryptów ułatwiających pracę zawodową == Cześć, opracowałem wczoraj taki oto skrypt w LUA. Ideą mu przyświecającą jest stworzenie kalkulatora do rozmieniania pieniędzy, który każdy może sobie ściągnąć jako element poradnika. Kod źródłowy wygląda tak: <syntaxhighlight lang=lua line> function calculateNominals(amount) local nominals = {500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01} local result = {} for _, nominal in ipairs(nominals) do local count = math.floor(amount / nominal) if count > 0 then table.insert(result, {nominal = nominal, count = count}) amount = amount - (nominal * count) end end return result end -- Przykładowe użycie: local amount = 123.45 local result = calculateNominals(amount) print("Kwota:", amount) print("Nominały:") for _, entry in ipairs(result) do print(entry.nominal, "x", entry.count) end </syntaxhighlight> w góry dziękuję za Twoją opinię :) [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 10:21, 21 cze 2023 (CEST) == Ad:Angielski == ;[https://pl.wikibooks.org/w/index.php?title=Angielski&diff=next&oldid=464709#bodyContent Ad:Angielski] Dzięki za doklejenie tego linku do wstępu. Jestem trochę załamany brakiem standaryzacji w podręcznikach językowych. Będę się starał wyrównywać. W wytycznych znalazłem tylko w [[Pomoc:Tworzenie podręcznika]] że informacyjna podstrona powinna być [[Nazwa podręcznika/O podręczniku]]. Mamy jeszcze jakieś inne tego typu spisane wytyczne? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 17:52, 23 cze 2023 (CEST) == Licencja == [[Wstęp do fizyki jądra atomowego]] w jaki sposób ograniczenie by nie stosować w pracach naukowych da się pogodzić z wolną licencją? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 09:18, 25 cze 2023 (CEST) == archiwizacja == Dzięki za zarchiwizowanie kawiarenki. To był dobry krok bo było tam już strasznie dużo starych wątków. Jednak teraz mam wątpliwości jak kontynuować naszą dyskusję o szablonach. Czy Utworzyć nowy wątek? Czy skopiować cały stary z historii? Jak uważasz? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:31, 28 cze 2023 (CEST) == Licencja - Ogólna teoria względności == Poprzednio pisałem ale nie doczekałem się odpowiedzi, o [[Wstęp do fizyki jądra atomowego]] a teraz trafiłem na [[Ogólna teoria względności]]. Tu też zapisałeś w opisie licencji "nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp." - jak to można pogodzić z CC:BY-SA? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:32, 3 lip 2023 (CEST) :Problem w tym, że podlinkowana licencja stanowi (w punkcie 8e), że tekst licencji jest kompletny i nie można dodawać dodawać do niego żadnych klauzul. Czyli po dodaniu tych klauzul mamy (a) licencję wewnętrznie sprzeczną i, co ważniejsze, (b) licencję, która nie jest licencją Creative Commons. Zapewne Creative Commons mogłaby w tej sytuacji pozwać autora za bezpodstawne posługiwanie się ich nazwą. [[Wikipedysta:Ankry|Ankry]] ([[Dyskusja wikipedysty:Ankry|dyskusja]]) 21:43, 3 lip 2023 (CEST) == Odp:Odp. Licencja - Ogólna teoria względności == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=466983}}#Odp._Licencja_-_Ogólna_teoria_względności Odp:Odp. Licencja - Ogólna teoria względności] No ale to jest sprzeczne z licencją i będzie potem stwarzać wątpliwości prawne dla chcącego używać. Czy takie rozwiązanie było z kimkolwiek konsultowane? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:57, 3 lip 2023 (CEST) == Odp:Odp. Licencja - Ogólna teoria względności == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=467013}}#Odp._Licencja_-_Ogólna_teoria_względności Odp:Odp. Licencja - Ogólna teoria względności] Jesteś autorem. Radzę więc usunięcie tego ograniczenia i stosowanie standardowej licencji. Jeżeli nie chcesz i uważasz za konieczne stosowanie takich nie wolnych ograniczeń uważam że materiał nie powinien znajdować się w Wikimediach. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 22:00, 3 lip 2023 (CEST) == Odp:Odp. Wstęp do fizyki jądra atomowego/Nukleony a budowa jądra atomowego == ;[{{fullurl:Dyskusja_wikipedysty:Marek_Mazurkiewicz|oldid=467036}}#Odp._Wstęp_do_fizyki_jądra_atomowego/Nukleony_a_budowa_jądra_atomowego Odp:Odp. Wstęp do fizyki jądra atomowego/Nukleony a budowa jądra atomowego] Umknęła mi odpowiedz i teraz też się nie udało mi doszukać. Rozumiem, że chodzi o tamtą licencję a sprawa już załatwiona. Pytasz czy może być jak w stopce teraz. Moim zdaniem ta adnotacja o licencji jest zbędna. Uważam, że powinien zostać jedynie sposób uznania autorstwa. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 16:03, 4 lip 2023 (CEST) == Transfer artykułu harcerskiego z Wikipedii na Wikibooks == Cześć, pingnąłem Cię w poczekalni na Wikipedii. Jeden z administratorów ponaglił mnie w temacie transferu, którego temat w sumie wyszedł z mojej inicjatywy, ale potrzebuję inspiracji jak się go robi oraz czy jest on do przeprowadzenia w sposób prosty. Podejrzewam że byłby to też dobry przyczynek to utworzenia kroniki harcerskiej na Wikibooks, a w szerszej perspektywie w rejestrze usunięć na Wikipedii moglibyśmy znaleźć na spokojnie i poprzetransferowywać na WB. Co o tym sądzisz? [[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:06, 8 paź 2023 (CEST) : {{Ping|Superjurek}} Masz rację. Już dokonano transferu twojego artykułu, tzn. teraz jest pod adresem: [[Poradnik_harcerski/7_Gdańska_Integracyjna_Drużyna_Harcerska_„Keja”]]. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:48, 8 paź 2023 (CEST) == Terapia zajęciowa/WIKIBOOKS == Tak, pomogło. Teraz strona się już nie pojawia w spisie. Pozdrawiam, [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 15:56, 20 maj 2024 (CEST) == Wiesz, kto za to odpowiada? == Cześć, <br> Zaintrygowała mnie sprawa dodania [[Windtaping|mojego podręcznika]] do podręczników polecanych. Nie mam pojęcia, kto mógł to zrobić, dlatego postanowiłem poprosić Cię o pomoc w tej kwestii. <br> Nie mieszam się w kwestie kategorii - po prostu się na tym nie znam, więc to musiał być ktoś inny. Lecz nie wiem, kto. <br> Czy mógłbyś wskazać, komu mogę być wdzięczny za to wyróżnienie? Miłego dnia, <br> [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 17:16, 20 maj 2024 (CEST) == Wycofania EKów Azoniastego == Użytkownik ten uprawia zwyczajny wandalizm, a tu [https://pl.wikibooks.org/w/index.php?title=Windtaping/Czym_jest_windtaping%3F&diff=prev&oldid=489051 atak osobisty] w opisie diffu. [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 13:34, 29 cze 2024 (CEST) :: {{Ping|InternetowyGołąb}} Jak dla mnie to jest inny opis praw fizyki, ale książkę zgłoś do {{lr|Poczekalnia|poczekalni}}, aby inni użytkownicy się zapoznali się z tym problemem, czy twoja decyzja jest zasadna, już tak było na {{NAZWASERWISU|link=tak}}, że jeden użytkownik kasował wszystkim okładki, a później ten użytkownik został zablokowany przez pracowników Fundacji MediaWiki. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:44, 29 cze 2024 (CEST) :::Jakby ciebie administrator Nonsensopedii stalkował, też zapewne używałbyś ataków osobistych. Chyba, że masz dużą cierpliwość (mi się skończyła 4 lutego). [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 13:36, 29 cze 2024 (CEST) :::Rozumiem, a czy rozpatrzysz mój wniosek o blokadę? [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 13:47, 29 cze 2024 (CEST) :::: Ale najpierw musisz udowodnić na poczekalni, że ta książka jest wandalizmem, ale inni użytkownicy muszą to potwierdzić! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:52, 29 cze 2024 (CEST) :::::Nie wiem, czy jest sens udowadniać fałsz. Kłamstwo zazwyczaj ma krótkie nogi. [[Wikipedysta:Azoniasty 220|Azoniasty 220]] ([[Dyskusja wikipedysty:Azoniasty 220|dyskusja]]) 13:54, 29 cze 2024 (CEST) :::::Nie no jasne, mi chodzi teraz o działalność Azoniastego poza windtapping, jego prowokujące opisy diffów. Po prostu przejrzyj wkład. [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 14:42, 29 cze 2024 (CEST) :::::: {{Ping|InternetowyGołąb}} Gdzie są takie diff'y? Ten użytkownik potrafił znaleźć błędy językowe, dodać coś od siebie w tekstach innych, poza nieudaną próbą w swoim brudnopisie edycji strony głównej projektu {{lr2|Strona główna}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:55, 29 cze 2024 (CEST) :Hej @[[Wikipedysta:Persino|Persino]]. Użytkownik ten został zablokowany permanentnie na Wikipedii, przez co przeniósł się tutaj (zob. [https://pl.wikibooks.org/w/index.php?title=Wikipedysta:Azoniasty_220&diff=prev&oldid=489024 ten wpis] za co już powinna pójść blokada). To użytkownik uprawiający trolling, zachowujący się niepoważnie i mylący Nonsensopedię z Wikipedią. A utworzone wpisy chyba powinny podchodzić pod to, że wiki nie jest hostingiem na własne opowieści oraz nie jest też blogiem. To wszystko jest do usunięcia, a blokada też się moim zdaniem należy. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 14:58, 29 cze 2024 (CEST) ::Ponadto, czy nie dostrzegasz naprawdę że [https://pl.wikibooks.org/wiki/Windtaping/Czym_jest_windtaping%3F to] jest zmyślone? :) [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 14:59, 29 cze 2024 (CEST) ::: {{Ping|AramilFeraxa}} Już blokuję, chociaż niektóre wpisy są poprawne, ale macie racje z {{lg|Windtaping}}, cały podręcznik trzeba usunąć! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 29 cze 2024 (CEST) ::::Dzięki. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 15:17, 29 cze 2024 (CEST) :::: {{Ping|AramilFeraxa}} Muszę też sprawdzić inne wpisy tego autora! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:44, 29 cze 2024 (CEST) :::::@[[Wikipedysta:Persino|Persino]] Wraca z adresów IP, zablokuj może tworzenie Windtaping i tą stronę polecane książki. https://guc.toolforge.org/?by=date&user=84.40.140.94 [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 16:57, 12 lip 2024 (CEST) ::::::Jeszcze czego! Na to się nie zgodzimy, po tym, co się dzieje na Nonsie się nie zgodzimy. [[Specjalna:Wkład/84.40.140.94|84.40.140.94]] ([[Dyskusja wikipedysty:84.40.140.94|dyskusja]]) 16:58, 12 lip 2024 (CEST) == GFDL == Hello! I have noticed that [[:w:en:Wikipedia:Image license migration]] was not completed here. It is easy to do with a bot if you or any other active users have a bot. If not I can do it with my bot. But perhaps you could check [[Specjalna:Nieużywane_pliki]] first and see if any of the files are no longer needed and can be deleted. [[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 18:29, 30 sie 2024 (CEST) * {{Ping|MGA73}} The files there are unused. ** But the page [[Wikipedysta:Beau.bot/listy/pliki]] is invalid. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) : I created [[Szablon:Cc-by-sa-3.0-migrated]] and tried to translate the line about license migration. Please help check/fix. I think the code used in the license migration should be in English. It is much easier if files are copied to or from Commons or other wikis. Only the visible text should be translated. : I will create the templates etc. so you can see how the resul will be. Then perhaps it is easier for someone with a bot to judge if they can help. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 16:50, 7 wrz 2024 (CEST) :: I created/changed templates and made an example edit: [[Special:Diff/490081]]. Would anyone like to work on this task? :: I can probably finish it in 1 hour if I get a bot flag. But it would be great if someone that allready have a bot can do it. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 17:28, 7 wrz 2024 (CEST) ::: I made https://quarry.wmcloud.org/query/86177 where the upload date is visible (latest date so file may be eligible even if uploaded after August 2009). The files are in [[:Kategoria:Wikibooks license migration candidates]] ({{Ping|MGA73}} Now: [[:Kategoria:Pliki oczekujące na przeniesienie do Commons]]) untill they are fixed. --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 21:13, 9 wrz 2024 (CEST) * {{Ping|MGA73}} Do it with your bot, because that's not what I'm for, that's what biorocrats are for.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) :: Thank you. Just to be sure. Should I edit without a bot flag or should I request a bot flag on meta? --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 20:20, 13 wrz 2024 (CEST) ::: {{Ping|MGA73}} You should ask for the bot flag on the meta with the flight attendant. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 13 wrz 2024 (CEST) :::: Thank you. Done! --[[Wikipedysta:MGA73|MGA73]] ([[Dyskusja wikipedysty:MGA73|dyskusja]]) 22:40, 13 wrz 2024 (CEST) == Nieakceptowalny język == [https://pl.wikibooks.org/w/index.php?title=Dyskusja_Wikibooks%3AStrona_g%C5%82%C3%B3wna&diff=490038&oldid=489708 diff] [[Wikipedysta:InternetowyGołąb|InternetowyGołąb]] ([[Dyskusja wikipedysty:InternetowyGołąb|dyskusja]]) 11:23, 2 wrz 2024 (CEST) == Ad:Pełny ekran szablonu stronicowego {{s|StronaStart}} i jego kolegów == ;[[Dyskusja_wikipedysty:Marek_Mazurkiewicz#Pełny_ekran_szablonu_stronicowego_&#123;&#123;StronaStart&#125;&#125;_i_jego_kolegów|Ad:Pełny ekran szablonu stronicowego &#123;&#123;StronaStart&#125;&#125; i jego kolegów]] Kod nic mi nie mówi. Nadal uważam że te szablony w większości wypadków są zbędne i standardowo strony wiki wyświetlają się prawidłowo. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 22:07, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} Wybacz, ale wprowadziłeś zły kod twojego wpisu, i dlatego musiałem poprawić. Ale do rzeczy: To zależy od preferencji użytkowników, jak kto woli, i dlatego należy wprowadzić ten kod do swojego {{Code|common.css}}, aby ten kod zadziałał poprawnie, a usuwanie tych szablonów ze stron artykułów w przestrzeni: {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}, jest wandalizmem, bo mogą znaleźć się użytkownicy, którzy podzielają mój pogląd lub twój, a te wpisy tego kodu chcę umieścić w osobnym gadżecie, i nie trzeba będzie ich umieszczać na stronie użytkownika w przestrzeni {{Np|User|link=tak}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:33, 21 lis 2024 (CET) *:Jeszcze raz zrobiłem test jak strona wygląda z szablonem: [[Wikipedysta:Marek Mazurkiewicz/szablontak|Marek Mazurkiewicz/szablontak]] i bez niego: [[Wikipedysta:Marek Mazurkiewicz/szablonnie]]. Nadal uważam, że te szablony są szkodliwe. Tu nie chodzi o mnie. Uważam, że są szkodliwe dla wszystkich. W sensie czynią Wikibooks gorszą stroną. Czy proponujesz żebym ustawiał sobie w swoim Common.css kod który będzie niwielował działąnie tych szablonów? A czy rozważałeś zasępienie działania tych szablonów kodem w swoim osobistym css? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:01, 21 lis 2024 (CET) *:: {{Ping|Marek Mazurkiewicz}} Ten kod można zrobić w postaci gadżetu, który działa domyślnie, i normalnie nie trzeba będzie tworzyć własnego {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}, a jak kod jednak umieścimy na tej stronie, czyli na {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}, to można zobaczyć stronę na cały ekran plus spis treści po prawej stronie. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:08, 21 lis 2024 (CET) *:::Czyli proponowany kod znosiłby działanie szablonów. Dobrze rozumiem? Dla mnie to nie rozwiązuje problemu. Szablony też czynią Wikinews gorszą stroną gdy zaglądam bez logowania. Spis treści przecież pojawia się automatycznie w mediawiki przy 3 nagłówkach i nie potrzebne są do tego szablony. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:17, 21 lis 2024 (CET) *::: {{Ping|Marek Mazurkiewicz}} Taki gadżet będzie działać domyślnie bez zalogowania, strona będzie na całym ekranie dostępnym, a na tej stronie po prawej stronie, nie za prawą stroną, będzie spis treści (ten spis treści wyłącza automatyczny spis), który działa na każdej skórce, bez zajmowania niezbędnej przestrzeni w ekranie głównym tekstu na spis treści, bo on znajduje się po prawej strona na na, a nie za. Jak chcesz wypróbować ten kod, to stwórz {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}} [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:35, 21 lis 2024 (CET) *::::Stworzyłem [[Wikipedysta:Marek Mazurkiewicz/Common.css]] i wkleiłem tam kod i nadal widzę szkodliwe efekty działania szablonów. Tekst nadal jest w ramce i nadal wyświetla się ten dziwny spis treści mrugający i przysłaniający zamiast standardowego spisu treści mediawiki. Sprawdzałem na [[Wstęp_do_fizyki_jądra_atomowego/Nukleony a budowa jądra atomowego]] oraz na [[Wikipedysta:Marek Mazurkiewicz/szablontak]] [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 00:40, 22 lis 2024 (CET) *::::: {{Ping|Marek Mazurkiewicz}} Zamiast [[Wikipedysta:Marek Mazurkiewicz/Common.css]] powinno być [[Wikipedysta:Marek Mazurkiewicz/common.css]]. Przepraszam za pomyłkę! <del>I jeszcze zamień {{Code|translate(117%,-117%)}} na {{Code|translate(115%,-117%)}}.</del> [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:46, 22 lis 2024 (CET) *:::::: {{Ping|Marek Mazurkiewicz}} Odkomentowałem w szablonie {{s|StronaStart/stronastart.css|z przestrzenią=tak}} te wpisy do odwołania, teraz powinno się widzieć efekty pracy, sprawdź! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:17, 22 lis 2024 (CET) *:::::::Nadal ten kod nic nie naprawia. Obramowanie jest jak było. Spis treści dziwny jest jak był. Nadal uważam że te szablony są szkodliwe. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 01:30, 22 lis 2024 (CET) *::::::: {{Ping|Marek Mazurkiewicz}} Co mam zrobić bez usuwania {{s|StronaStart}} (ten szablon nie dostarcza bezpośredniego formatowania, a jego koledzy już tak)... Czy widzisz główny tekst na cały ekran, o to mi chodzi! Na smartfonach jest normalnie! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:36, 22 lis 2024 (CET) *::::::::Tak tekst jest trochę poszerzony. Nie widzę rozwiązania poza nie stosowaniem szablonu Strona start i podobnych. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 01:45, 22 lis 2024 (CET) *:::::::: {{Ping|Marek Mazurkiewicz}} A może spis treści po zwinięciu przechowywać w bardzo małej ramce, a po najechaniu na nią kreuje się spis treści, nie w tej ramce, w postaci pełnej? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:58, 22 lis 2024 (CET) *:::::::::Właśnie takie mrugające zachowanie szablonu uważam za szkodliwe. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:05, 22 lis 2024 (CET) *:::::::::: {{Ping|Marek Mazurkiewicz}} Czyli zwiększanie spisu treści od miniaturki do pełnej po najechaniu wskaźnika myszki, a po odsunięciu po czerech sekundach się zmniejsza, czyli mam zrobić, aby spis od razu po najechaniu ma być wielki, a po czterech sekundach mniejszy? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:37, 22 lis 2024 (CET) *:::::::::: {{Ping|Marek Mazurkiewicz}} A to mruganie raczej z tego wynika, że w {{Code|MediaWiki:Common.js}} w skrypcie JavaScript do transition nie zawiera muteksu, właśnie przygotowywuję skrypt, który takiego mrugania nie ma. Wynika to raczej z błędu z samego działania skryptu JS. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:42, 22 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} A użycie na stronach innych niż te wymienione artykularne (przestrzeń {{Np|Project|link=tak}}) jest kwestią wprowadzenia, to też mam poprawić? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:46, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} Jeszcze wystarczy napisać swój {{Code|Wikipedysta:Marek_Mazurkiewicz/common.css}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:51, 21 lis 2024 (CET) * {{Ping|Marek Mazurkiewicz}} A może trzeba wprowadzić włączenie i wyłączenie spisu treści przy poszerzonym tekście, wtedy może ci się to spodoba, w moich skryptach na moim koncie jest coś takiego, że spis treści włączony nie będzie nad tekstem po prawej stronie, bo go nie będzie tam, lub włączony będzie nad tekstem, bo tam on będzie. Można to zrobić za pomocą przycisku. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:58, 22 lis 2024 (CET) == Ad:Dyskusja wikipedysty:Marek Mazurkiewicz == ;[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty:Marek_Mazurkiewicz&curid=60083&diff=493138&oldid=493064#bodyContent Ad:Dyskusja wikipedysty:Marek Mazurkiewicz] Za każdym razem gdy edytujesz ten kod dostaję powiadomienie o nowej wiadomości. Nie ma potrzeby żebyś go tutaj poprawiał. Mówiłem już że to nie jest rozwiązanie problemu. Moim głównym problemem jest że na Wikibooks występują niestandardowe dla mediawiki i nieuzasadnione rozwiązania. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 23:58, 25 lis 2024 (CET) : {{Ping|Marek Mazurkiewicz}} Już skończyłem ten gadżet, który miałeś na stronach {{Code|common.css}}, ale zauważyłem, że nie wszystko da się zrobić za pomocą mechanizmu mediawiki za pomocą standardowych rozwiązań, a niestandardowym rozwiązaniem np. jest numeracja wzorów matematycznych. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:07, 26 lis 2024 (CET) == Ukrycie zmian == Hej, Wydaje mi się, że wypadałoby poukrywać zmiany [[Specjalna:Wkład/Borfa_Borforfa|tego użytkownika]]. [[Wikipedysta:Swam pl|Swam pl]] ([[Dyskusja wikipedysty:Swam pl|dyskusja]]) 15:17, 14 gru 2024 (CET) :Dzięki za ukrycie :) [[Wikipedysta:Swam pl|Swam pl]] ([[Dyskusja wikipedysty:Swam pl|dyskusja]]) 15:30, 14 gru 2024 (CET) == Filtr nadużyć blokuje edycję == Cześć, nie wiem w sumie do kogo napisać. Filtr odrzuca moje edycje w [[User:Hythonia/brudnopis]], gdy próbuję dodać zasady gry. Jedyną informacją, jaką otrzymuję, jest „Same czarne nieinterpretowalne znaki” albo „Nieprawidłowy wprowadzony tekst” ({{Ping|Hythonia}} Tutaj był błąd! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:31, 15 lut 2025 (CET)) Blokowanego tekstu nie mogę tutaj nawet wkleić, a nie ma żadnych „czarnych nieinterpretowalnych znaków”, informuje tylko o celu gry. Nie wiem, co w tej sytuacji zrobić. Pomożesz? [[Wikipedysta:Hythonia|Hythonia]] ([[Dyskusja wikipedysty:Hythonia|dyskusja]]) 14:20, 15 lut 2025 (CET) * Zauważyłem ten błąd, jestem w trakcie usuwania jego! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:25, 15 lut 2025 (CET) ** {{Ping|Hythonia}} Usunąłem ten błąd w filtrach, teraz możesz pisać, ale uważaj na przecinki i kropki, na końcu linii nie może być spacji lub tabulacji, czy nawet białych znaków o niezerowej szerokości. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:47, 15 lut 2025 (CET) ** {{Ping|Hythonia}} „Same czarne nieinterpretowalne znaki” jest zabezpieczeniem, jakby wandal chciał linię zamienić lub zastąpić ją jednym ciągiem znaków niespacjowych, okrążonych z jednej strony lub drugiej, białymi znakami lub bez nich (wtedy cała linia jest tym ciągiem znaków niespacjowych). [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:02, 15 lut 2025 (CET) **:Jasne, dziękuję bardzo. [[Wikipedysta:Hythonia|Hythonia]] ([[Dyskusja wikipedysty:Hythonia|dyskusja]]) 15:56, 15 lut 2025 (CET) **:Mówiłem, niech filtr pozwala na zapisanie edycji! [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 03:00, 16 lut 2025 (CET) **:: {{Ping|Wargo}} Dla kilku filtrów zamieniłem: '''odrzuć''', na: '''ostrzeżenie''' (aby zebrać dane, czy są poprawne). Jakie mam jeszcze zamienić tak! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:13, 16 lut 2025 (CET) == Filtr nadużyć == Hej, poprawcie sobie filtry nadużyć, aby nie łapały administratorów, bo ciągle łapie Ciebie, co utrudnia jego patrolowanie i przeglądanie [https://pl.wikibooks.org/wiki/Specjalna:Rejestr_nadu%C5%BCy%C4%87]. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 09:31, 4 mar 2025 (CET) :PS. Filtr 52 chyba generalnie wymaga poprawy swojego działania (łapie na przykład emotki typu ":)" na końcu zdania po spacji) [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 09:32, 4 mar 2025 (CET) :: Poprawię, zrobię jeszcze jedną edycję i zabieram się do pracy za filtry. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 4 mar 2025 (CET) :: <del>Odjąłem: 😊, za pomocą wyrażeń regularnych. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:54, 4 mar 2025 (CET)</del> :::To blokował filtr 52, nie 25. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 10:03, 4 mar 2025 (CET) :::: I dlatego przekreśliłem, już można napisać :), nawet po linku zewnętrznym, czy wewnętrznym, na końcu zdania :), nie tylko w cudzysłowie ":)". [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:16, 4 mar 2025 (CET) ::::* Stworzyłem listę emotikonów w postaci: <code>p_emotikony:="(:\)|:\(|:D|:P|;\)|:O|:\||:S|:3|:X|:\-\*|:'\(|:\-\/|:\|\])";</code>, w filtrze 52. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:45, 4 mar 2025 (CET) == Znów filtr odrzuca == Ponownie te same problemy z automatycznym odrzucaniem zapisu określonego jako "akcja szkodliwa" i "nieprawidłowy wprowadzony tekst" - tym razem w ''Książce kucharskiej'', do której ostatnie takie wpisy (przepisy) obyły się bez kłopotu. Przyznam, że może to zniechęcać do jakiegokolwiek działania na Wikibooks. - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 12:06, 22 mar 2025 (CET) : Wybacz, że tak długo, ale błąd już został naprawiony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:50, 22 mar 2025 (CET) == MS-DOS/Okładka == Filtr nadużyć nie pozwala mi poprawić interpunkcji. Znaczników nie ruszam. [[Wikipedysta:Sebek Adamowicz|Sebek Adamowicz]] ([[Dyskusja wikipedysty:Sebek Adamowicz|dyskusja]]) 20:52, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Już błąd naprawiony, znaczniki zostały zamienione na odpowiednie szablony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:00, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Zamiast znacznika {{Tag|center}} używaj szablonu {{s|Center}}, a zamiast {{Tag|font}} używaj {{s|Font}}, bo te znaczniki są wycofywane z polskiego {{NAZWASERWISU|link=tak|po=a}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:22, 20 kwi 2025 (CEST) :{{Ping|Sebek Adamowicz}} Już z filtrem nadużyć raczej nie będziesz miał kłopotu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:58, 20 kwi 2025 (CEST) ::Z kolei tu [https://pl.m.wikibooks.org/wiki/Microsoft_Windows_9x/Nieoficjalny_SP#A_co_z_innymi_wersjami?] chciałem wstawić link z Internet Archive, ale filtr nadużyć blokuje. [[Wikipedysta:Sebek Adamowicz|Sebek Adamowicz]] ([[Dyskusja wikipedysty:Sebek Adamowicz|dyskusja]]) 00:07, 21 kwi 2025 (CEST) :::{{Ping|Sebek Adamowicz}} Już nie ma tego błędu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:50, 21 kwi 2025 (CEST) == Ukrycia wersji == Hej odpowiem tutaj. Nie, to nie jest groźny wandal. Odkryłem tylko edycje ip https://pl.wikibooks.org/wiki/Specjalna:Wk%C5%82ad/77.253.96.155, gdyż jest to pewien user omijający blokadę. Nie ma podstaw do ukrywania opisu zmian i edycji, a tym bardziej nazwy użytkownika. Takie ukrycie tylko utrudnia przeglądanie wkładu i pracę. Ukrywamy przecież tylko wersje rażąco obraźliwe itp. Sam fakt, że jest to jakiś wandal nie jest podstawą do ukrycia wersji. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 11:40, 30 kwi 2025 (CEST) :{{Ping|AramilFeraxa}} Ale on, pod różnymi IP'ami, wandalizował ten projekt, co ty na to, i to są edycję AZONIASTEGO, czyli trola internetowago, że nawet użytkownicy Wikipedii, kazali usuwać jego edycję i strony. On się przeniósł z Wikipedii na Wikibooks, bo tam prawdopodobnie został zablokowany. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:52, 30 kwi 2025 (CEST) ::Ale powtarzam: samo wandalizowanie nie jest powodem do ukrywania wersji wraz z nazwą użytkownika :) Utrudnia to pracę. [[Wikipedysta:AramilFeraxa|AramilFeraxa]] ([[Dyskusja wikipedysty:AramilFeraxa|dyskusja]]) 11:56, 30 kwi 2025 (CEST) == Odp.: Filtr nadużyć == Dziękuję! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:57, 29 cze 2025 (CEST) == Dlaczego ta różnica? == Hej, czy mógłbyś zerknąć tu: [[https://pl.wikibooks.org/wiki/Kategoria:Makarony]] i znalezc roznice w haslach [[https://pl.wikibooks.org/wiki/Ksi%C4%85%C5%BCka_kucharska/Spaghetti_z_mi%C4%99sem_mielonym_i_boczkiem]] oraz [[https://pl.wikibooks.org/wiki/Spaghetti_z_orzechami_i_parmezanem]] powodujący, ze przed jednym jest tekst "Książka kucharska", a przy drugim nie ma? Kategorie w tekstach źródłowych w zasadzie się pokrywają. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:09, 30 cze 2025 (CEST) * Dziekuje, wszystko jasne. I dziekuje za odblokowanie szablonu ''ek''. == Produkty spozywcze firmy Knorr - czy wolno nam "reklamowac"? == Hej, wiele przepisow jako dodatki podaje np. "1 opakowanie sosu smietanowo-serowego Knorr" i wiele podobnych. Czy to jest reklama dla Knorra, ktora powinna byc usunieta z modulu "Ksiazka kucharska", czy nie? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:27, 30 cze 2025 (CEST) * {{Ping|EdytaT}} Reklamy typu Knorr powinny być usunięte, bądź np.: "1 opakowanie sosu smietanowo-serowego Knorr", zamień w coś rodzaju na: "1 opakowanie sosu smietanowo-serowego", można też powiedzieć, jak ten owy sos przygotować. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:34, 30 cze 2025 (CEST) *:Tak myslalam i tak chcialam zrobic. Jest tego sporo. Pozdrawiam. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:37, 30 cze 2025 (CEST) == odp. Filtr nadużyć - dziekuje. == Dziekuje za pomoc. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:47, 3 lip 2025 (CEST) :Diekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:59, 4 lip 2025 (CEST) == Co to jest "Kategoria: Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka"? == Hej, mozesz pomoc? Jakos nie wiem, o jaki naglowek chodzi. Nie potrafilam tez dokopac sie do dokumentacji tego szablonu. Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 16:12, 4 lip 2025 (CEST) : {{Ping|EdytaT}} {{L|Kategoria:Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka}}, tu chodzi, że nie ma nagłówka: <nowiki>==Przypisy==</nowiki>, to nie jest błąd, tylko informacja dla wikipedysty, jakby taki nagłówek chciał dodać w kodzie, ale nie matrw się, ten nagłówek sam jest automatycznie dodawany, jeżeli go nie ma, ale nie w kodzie, ale w artykule. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:31, 4 lip 2025 (CEST) :: {{Ping|EdytaT}} Generuje go szablon {{s|Przypisy}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:37, 4 lip 2025 (CEST) == Ksiazka kucharska - bezwartościowe przepisy == Hej, w ksiazce kucharskiej sa setki przepisow wpisanych przez Swietokrzyskie... Te przepisy sa moim zdaniem do usuniecia (przynajmniej czesc z nich). Ich nazwy to "danie 1, danie 2, danie 3" lub w tym stylu. Nie wiadomo, jakie to sa dania, a nawet czytajac kazdy z tych przepisow, to nie wiadomo o co chodzi, zanim sie nie przeczyta do samego konca. A i to nie znaczy, ze mozna ten przepis zaopatrzyc w sensowna nazwe. Jest tez drugi problem z tymi przepisami - zasmiecaja ten kucharski podrecznik, czynia go malo atrakcyjnym dla zainteresowanych, sa absolutnie zniechecajace i odpychajace. Moglabym je powoli poprzegladac, zmienic nazwy, uporzdkowac kategorie lub zameldowac do skasowania (wiekszosc). Nie chce jednak przysparzac Tobie klopotu z tym ciaglym kasowaniem. Czy moze jednak zgodzilbys sie na to? Czy sa tez inni administratorzy czy edytorzy, z ktorymi trzeba by o tym porozmawiac? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:54, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Jeszcze jest jeden administrator: {{Ping|Pavroo}}, ale jest nieaktywny, od pewnego czasu. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:57, 6 lip 2025 (CEST) == Co jest lepsze - jeden olbrzymi modul, czy osobne mniejsze podreczniki? == Hej - na przykladzie ksiazki kucharskiej - teoretycznie jest ksiazka zawierajaca przepisy. Ale mnostwo zwiazanych z tym tematow, np. Golabki, Chlodniki, Oleje spozywcze, Drob, Wolowina, Nabial, technia przyrzadzania potraw, Ziola, Przyprawy itd. itd. Istnieje niezliczona ilosc takich tematow i niezliczona ilosc drukowanych ksiazek na temat np. pomidorow, przyborow kuchennych, rodzajow ciast. W takich jednotematycznych ksiazkach mozna znalezc przydatne w gotowaniu informacje, a zawarcie ich w module "Ksiazka kucharska" stworzyloby podrecznik nieskonczony. Jak wiec myslisz - czy temat "oleje spozywcze" podlaczyc pod podrecznik "Ksiazka kucharska", czy utworzyc osobny modul, a w ksiazce kucharskiej stworzyc np. kategorie, w ktorej bylby link do tego tematycznego modulu? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:04, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Masz rację... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:07, 6 lip 2025 (CEST) == Linkowac / nie linkowac / dlaczego nie linkowac? == Hej, w [[Wikibooks:Zasady_i_wskazówki]] sa takie punkty: * twórz odnośniki tylko wtedy, gdy kontekst tego wymaga * staraj się nie stosować zewnętrznych odnośników Oczywiscie rozumiem, ze nie nalezy tworzyc odnosnikow do wszystkiego, co popadnie. Ale np. w Module "Napary ziolowe" piszac o cynamonie podaje informacje, ze zawiera on kumaryne. Nie chce w tym module pisac nic wiecej o kumarynie, ale uwazam, ze link do artykulu w wikipedii o kumarynie jest tu jak najbardziej na miejscu (odpowiedz na pytania: co to jest? czy jest zdrowe czy szkodliwe? ile tego mozna spozyc? w jakich innych produktach sie znajduje itd.). Jakie jest Twoje zdanie na ten temat?. Pytanie drugie: chetnie natomiast wstawiam odnosniki wewnatrz modulu, gdy piszac o czyms innym zahaczam o temat/zjawisko/rzecz juz w tym module opisane. Czy to jest szkodliwe dla wikibooks? I jeszcze trzecie pytanie: dlaczego (technicznie) lepiej nie uzywac odnosnikow? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 14:19, 6 lip 2025 (CEST) * {{Ping|EdytaT}} Odnośników na zewnątrz projektów raczej nie powinno się używać, ponieważ, te strony, do których zostały użyte, i tak znikną z internetu, one będą musiały być zaktualizowane, albo skasowane, lepiej jest tworzyć odnośniki, do wewnątrz projektu, albo do {{NAZWASERWISU|link=tak|klucz projektu=w|Wikipedii polskiej}}, czy {{NAZWASERWISU|link=tak|klucz projektu=en:w|Wikipedii angielskiej}}, czy do projektu {{NAZWASERWISU|link=tak|klucz projektu=en:b|Wikibooksa angielskiego}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:29, 6 lip 2025 (CEST) == Filtr naduzyc "Styl do sprawdzenia", == Hej, bardzo wrazliwy ten filtr ... Troche nadwrazliwy. A czy mozna te filtry zmeinic tak, by pozwolily zapisac edytowana strone, a uwagi umiescic na stronie jako "Dopracowac"? Z konkretna informacja, co i gdzie jest zle? Jak znalazles, ze to akurat "warto dodac" sie filtrowi nie podoba. I dlaczego? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:53, 7 lip 2025 (CEST) * {{Ping|EdytaT}} Dzięki wyrażeniom regularnym i operacjom na łancuchach znakowych! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:55, 7 lip 2025 (CEST) == Filtry nadużyć - przeszkadzaja w uzupelnianiu podrecznikow == Hej - jest problem z filtrami naduzyc, ktore w dalszym ciagu nie pozwalaja zapisywac nowych stron lub zmian w istnieniacych stronach. Rozumiem, ze czasy sie zmieniaja i to, co kiedys bylo ok teraz jest juz nie jest. Ale to czyni edytowanie bardzo uciazliwym lub wrecz niemozliwym, a tak nie moze byc. Ostatni przyklad to uniemozliwienie utworzenia strony "Tworzenie Ekoogrodnictwo/Rośliny użytkowe/Bazylia" przez filtr naduzyc, ktoremu nie podobaja sie tabelki. Ok, ale to jest strona skopiowana (Ctrl+c) i wstawiona (Ctrl+v) z istniejacej strony o pietruszce i dopasowaniu tego, co aktualnie chce napisac w tworzonej stronie o bazylii. Nie interesuje mnie, jaki format ma tabelka zywcem skopiowana z istniejacego artykulu i wcale nie mam zamiaru zajmowac sie formatowaniem tej tabelki. Interesuje mnie tylko dopasowanie jej zawartosci. Czy "Znaczniki przestarzałe (font, tt, strike, center)", czy nie, to nie jest w tym momencie moja sprawa. Uwazam, ze jak najbardziej filtr ma prawo podac mi informacje, ze te znaczniki sa przestarzale, ale absolutnie nie moze zabronic mi utworzenia tej strony. Czy mozna cos z tym zrobic? Pozdrawiam. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:06, 18 lip 2025 (CEST) * {{Ping|EdytaT}} Przepiszę kod na szablonu używając tabelki {{s|Tabela}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:12, 18 lip 2025 (CEST) ** {{Ping|EdytaT}} Dla chcącego nie ma nic trudnego, wikitabelka za pomocą szablonów, to lepiej wygląda niż niskopoziomowa tabelka wikikodu.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:38, 18 lip 2025 (CEST) == Dla chcącego nie ma nic trudnego ... == Hej, to prawda, ale problem jest wtedy, kiedy nawet by sie chcialo i teoretycznie moglo, ale to nie jest odpowiedni moment! Filtry nie powinny uniemozöiwiac zapisania mojej praktycznie poprawnej edycji! Dziekuje za wprowadzenie zmian. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:05, 18 lip 2025 (CEST) * {{Ping|EdytaT}} Znacznik {{Tag|center}} jest '''zdeprecjonowany''' w ''HTML'', czyli wycowywany z użycia! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:11, 19 lip 2025 (CEST) == Filtr nadużyć – odrzucanie edycji w kursie [[Teoria grup przemiennych]] == Tak jak w tytule. Wprowadzam trochę wzorów za pomocą TeX-a i&nbsp;podgląd wygląda normalnie, ale niestety edycja jest odrzucana. Mogę to wkleić tutaj: Strukturę grupy przemiennej można wzbogacać na różne sposoby – nie tylko przez relację porządku. Innym sposobem jest drugie działanie dwuargumentowe: <math>G^2\to G.</math> Trudno, żeby zbiór <math>G</math> był grupą przemienną ze względu na oba działania, ale zdarza się coś podobnego. Można się przyjrzeć liczbom wymiernym <math>(\mathbb{Q}):</math> * ze względu na dodawanie są grupą przemienną <math>(\mathbb{Q},+);</math> * nie są grupą ze względu na mnożenie, ponieważ zero nie jest tu odwracalne – równanie liniowe <math>0x = 1</math> nie ma rozwiązań; * po wycięciu zera z dziedziny zbiór <math>(\mathbb{Q}_{\neq 0},\cdot)</math> istotnie jest grupą przemienną. [[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 22:42, 24 lip 2025 (CEST) :Tekst powyżej jest akceptowany i już przeszedł ale odrzucany jest kod zwykłego pogrubienia tablicowego liter R i C, przez \mathbb. [[Wikipedysta:Tarnoob|Tarnoob]] ([[Dyskusja wikipedysty:Tarnoob|dyskusja]]) 22:52, 24 lip 2025 (CEST) : {{Ping|Tarnoob}} Już naprawiłem twój problem ze znacznikiem {{Tag|MATH}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:17, 25 lip 2025 (CEST) == [[Siewki roślin uprawianych w Polsce/Mydleńcowate]] == Te filtry nadużyć uniemożliwiają normalne edytowanie. Naprawdę chcesz, żeby wszyscy zrezygnowali z jakiejkolwiek działalności na Wikibooks? Bo ja tu już więcej nie wejdę... [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:26, 24 sie 2025 (CEST) : {{Ping|Salicyna}} Ja rozumiem twoje rozgoryczenie, ale nikt nie jest doskonały. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:41, 24 sie 2025 (CEST) :: {{Ping|Salicyna}} A przy okazji usunąłem twój błąd. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:43, 24 sie 2025 (CEST) ::: Jaki błąd? [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:45, 24 sie 2025 (CEST) ::: {{Ping|Salicyna}} Błąd, który uniemożliwił twoje zapisanie edycji. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:48, 24 sie 2025 (CEST) ::::Możesz więc mi wyjaśnić, jaki błąd popełniłam? Bo nie widzę żadnej twojej edycji poprawiającej coś w tym haśle po tym jak do ciebie napisałam. [[Wikipedysta:Salicyna|Salicyna]] ([[Dyskusja wikipedysty:Salicyna|dyskusja]]) 10:51, 24 sie 2025 (CEST) ::::: {{Ping|Salicyna}} Był błąd w filtrach nadużyć. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:53, 24 sie 2025 (CEST) ::::: {{Ping|Salicyna}} Teraz możesz zapisać swoją edycję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:04, 24 sie 2025 (CEST) == Wkład użytkownika Świętokrzyskie3 do usunięcia == Hej, niestety hasła utworzone przez Świętokrzyskie3 są moim zdaniem do usunięcia. Wszystkie. Zajrzałam do wielu z nich i stwierdziłam, ze są skopiowane z innych stron internetowych i nie są autorstwa tego użytkownika. Wobec tego należy je usunąć, ponieważ takie edycje są niezgodne z prawem autorskim. Nawet próba przejrzenia tych haseł (niewykonalna) nie zmieniłaby faktu, że są one kradzieżą intelektualną. Proszę napisz, czy możesz to zrobić "za jednym zamachem"? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:44, 25 wrz 2025 (CEST) : {{Ping|EdytaT}} Skasować wszystkie artykuły książki kucharskiej tego użytkownika, i sprawdzić jego dalszy dorobek! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:43, 25 wrz 2025 (CEST) :: {{Ping|EdytaT}} Sprawdź użytkownika [[Specjalna:Wkład/Snd125671]] i jego artykuły książki kucharskiej! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:30, 25 wrz 2025 (CEST) : {{Ping|EdytaT}} Już usunąłem podejrzane artykuły książki kucharskiej użytkowników: [[Specjalna:Wkład/Świętokrzyskie3]] i [[Specjalna:Wkład/Snd125671]]! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:36, 26 wrz 2025 (CEST) ::Dziekuje! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:53, 26 wrz 2025 (CEST) == . == Cześć. Dlaczego usuwasz poradniki kulinarne? [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:45, 25 wrz 2025 (CEST) :{{Ping|Igor123121}} Sprawdź, poprzedni rozdział! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:48, 25 wrz 2025 (CEST) :Aha rozumiem - to wkład [[Specjalna:Wkład/Snd125671|Snd125671]] - ale wiesz, że nie musisz wszystkiego ręcznie usuwać tylko na górze masz funkcję"masowe usuwanie", która pozwwala wszystko usunąć błyskawicznie? [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:48, 25 wrz 2025 (CEST) ::{{Ping|Igor123121}} Chodzi mi o edycje: [[Specjalna:Wkład/Świętokrzyskie3]], a [[Specjalna:Wkład/Snd125671]] trzeba sprawdzić, a masowe usuwanie jest do ostatnich 90 dni! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:52, 25 wrz 2025 (CEST) == Automatyczne zablokowanie moich zmian == Witam, piszę podręcznik "Matematyka dla ostatnich klas szkoły podstawowej". Napotkałem się na problem z automatycznym systemem odrzucania edycji. "Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Linie z tylko wielkimi literami" Linia ta zawiera liczby w systemie rzymskim, wygląda następująco: <code>| &#39;&#39;&#39;XLVII&#39;&#39;&#39;&lt;br/&gt;(50 - 10) + 7&lt;br/&gt;40 + 7&lt;br/&gt;47 || &#39;&#39;&#39;MCMXCIX&#39;&#39;&#39;&lt;br/&gt;1000 + (1000 - 100) + (100 - 10) + (10 - 1)&lt;br/&gt;1000 + 900 + 90 + 9&lt;br/&gt;1999 || &#39;&#39;&#39;MMMCMXCIX&#39;&#39;&#39;&lt;br/&gt;3000 + (1000 - 100) + (100 - 10) + (10 - 1)&lt;br/&gt;3000 + 900 + 90 + 99&lt;br/&gt;3999</code> Uprzejmie proszę o możliwość zatwierdzenia tego rodzaju treści lub wskazanie sposobu, aby linie z liczbami rzymskimi nie były automatycznie odrzucane. Z góry dziękuję za pomoc. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 15:28, 27 wrz 2025 (CEST) : {{Ping|YxiCode}}Już możesz edytować! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:52, 27 wrz 2025 (CEST) ::Dziękuję bardzo :)) [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 19:26, 27 wrz 2025 (CEST) ::@[[Wikipedysta:Persino|Persino]]Znów otrzymałem błąd: ''Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Powtarzające się ciągi znaków w linii wikitekstu'' [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 20:02, 27 wrz 2025 (CEST) :: {{Ping|YxiCode}} Już możesz edytować.[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:05, 27 wrz 2025 (CEST) == Opisy operacji == Cześć! Dostrzegam Twój ogromny wkład w działaniach administracyjnych na Wikibooks. Pragnę jednak zaznaczyć, że każda operacja (blokada, ukrycie wersji) powinno zostać ukryte krótkim opisem (Niecenzuralne słownictwo itp.), ponieważ znacznie ułatwia to śledzenie zwykłym użytkownikom, nie adminom. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:53, 29 wrz 2025 (CEST) :PS Pamiętaj, że zgodnie ze standardem blokujemy konta tymczasowe na maksymalnie 90 dni. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:02, 29 wrz 2025 (CEST) == Filtry nadużyć == Cześć. Ostatnio tworzę artykuły o potrawach, jednak niestety często spotykam się z nadgroliwością filtrów nadużyć. Filtr całkowicie blokuje dodanie cyrlicy, co jest bardzo utrudniające w przypadku np. ilustrowaniem wersją zdjęcia pochodzącą z Rosji i tym samym napisaną cyrlicą. Np. https://commons.wikimedia.org/wiki/File:%D0%93%D1%80%D0%B5%D1%87%D0%BD%D0%B5%D0%B2%D0%B0%D1%8F_%D0%BA%D0%B0%D1%88%D0%B0_%D1%81_%D0%BC%D0%BE%D0%BB%D0%BE%D0%BA%D0%BE%D0%BC.jpg [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:40, 13 paź 2025 (CEST) :{{Ping|Igor123121}} Już możesz edytować! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:45, 13 paź 2025 (CEST) ::W wolnej chwili zachęcam do sprawdzenia maila, którego Ci wysłałem i ewentualnego odpowiedzenia na niego tam ;) ::Dobrego wieczoru, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 20:08, 13 paź 2025 (CEST) ::Wymieniłem szablony fotografii. Dziękuje za wskazówki! ::Pozdrawiam, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:43, 14 paź 2025 (CEST) :: {{Ping|Igor123121}} Co to znaczy wymienić fotografie, a może chodzi ci o podpisanie rysunków w ich opisach!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:02, 15 paź 2025 (CEST) :: {{Ping|Igor123121}} Rysunki powinny być podpisane logicznie. W tekstach artykułów ma być odpowiednie formatowanie!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:06, 15 paź 2025 (CEST) :: {{Ping|Igor123121}} W swoich edycjach nie stosuj elementów prowokacyjnych, jak chcesz być administratorem!!! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 00:13, 15 paź 2025 (CEST) :::@[[Wikipedysta:Persino|Persino]] przepraszam ale nie bardzo rozumiem o jakie elementy chodzi. Jeżeli mógłbyś sprecyzować o który element chodzi to byłbym bardzo wdzięczny. :::Dobrego dnia. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 08:38, 15 paź 2025 (CEST) :::@[[Wikipedysta:Persino|Persino]] jeżeli dodałem jakiś element prowokacyjny to przepraszam nie miałem takiego zamiaru i nie będę miał takowego w przyszłości. Jeżeli jednak mógłbyś podać o jaki element ci chodzi to będę bardzo wdzięczny. wdzięczny. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 08:44, 15 paź 2025 (CEST) :::{{Ping|Igor123121}} Np. pod rysunkiem usuwałeś puste linie, czasami był opis rysunku jako "To jest opis"! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:52, 15 paź 2025 (CEST) ::::@[[Wikipedysta:Persino|Persino]] już ruszam z wyjaśnieniem, bo już rozumiem o co chodzi w Twoich zarzutach :) ::::# Gdy zmieniałem ręcznie napisany <nowiki>[[Plik:]]</nowiki> na <nowiki>{{plik}}</nowiki> w moich artykułach (tak jak mnie prosiłeś wczoraj) to wysłałeś mi wzór jak to robić: {{[[Szablon:Plik|Plik]]<nowiki>|plik=Rumfordsuppe.jpg|ramka=mały|rozmiar=200px|pozycja=prawo|opis=To jest opis}} (</nowiki>[https://pl.wikibooks.org/w/index.php?title=Dyskusja_wikipedysty:Igor123121&diff=prev&oldid=515771 tutaj diff]). Kopiowałem go i wklejałem do artykułów i wpisywałem nazwę zdjęcia z Wikimedia Commons, która była obecna w tamtejszym [[Plik:]]. Zdarzyło mi się zapomnieć zmienić opisu, więc zostało wzorcowe ''to jest opis'' zamiast nazwy potrawy. Wiec, że nie zrobiłem tego celowo w innych poprawkach zmieniałem nazwę opisu, jednak kilka razy omyłkowo o tym zapomniałem. ::::# Nie wiedziałem, że te puste linię na początku wikitekstu są potrzebne, bo bez nich szablon również działał poprawnie. Dziękuję, że mnie uświadomiłeś, na przyszłość nie będę ich kasował. ::::Mam nadzieje, że wytłumaczyłem swoje edycje i, że w żadnym wypadku nie były one prowokacjami wobec społeczności. Uprzejmie proszę o odpowiedź czy dokładnie rozumiesz moją odpowiedź. Przepraszam za zamieszanie. Nigdy nie mam zamiaru prowokować społeczności, chcę rozwijać Wikibooks razem z Tobą i EdytąT. ::::Z pozdrowieniami, [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 14:03, 15 paź 2025 (CEST) ::::{{Ping|Igor123121}} Każdy popełnia błąd, nawet ja, było, minęło i koniec. Rozumiem twoją wypowiedź. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:09, 15 paź 2025 (CEST) :::::Zachęcam do rzucenia okiem: [[Wikibooks:Przyznawanie uprawnień/Igor123121]] :::::Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:13, 16 paź 2025 (CEST) ::::::Cześć! Czy wszystko jest w porządku z szablonami? Głosowanie zakończyło się wczoraj a dalej wyświetla się jako '''''Głosowanie trwa''''' ::::::[[Wikibooks:Przyznawanie uprawnień/Igor123121]] ::::::Pozdrawiam! Jeśli się uda zaaktualizować status to wyślę zgłoszenie do Stewarda, ponieważ nie mamy już tutaj biurokratów jak kiedyś. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 06:31, 24 paź 2025 (CEST) :::::: {{Ping|Igor123121}} Już teraz wszystko jest w porządku, trzeba było zapisać pustą edycję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:05, 24 paź 2025 (CEST) == odp. Zamienianie linków wewnętrznych na zewnętrzne robiące to samo == Hej, napisales, ze zeby utworzyc link do wikipedii, to "... wystarczy napisac <nowiki>[[w:Wikipedia: ...</nowiki>" Do tej pory wystarczalo napisac "... <nowiki>[[w: ...</nowiki>". I nigdzie nie ma zadnej informacji na temat linkowania wewnetrznego. Wlasnie przegladalam ''Wikibooks:Zasady_i_wskazówki'', ''Pomoc:Spis_treści'', ''Technikalia'' - bez skutku. Prosze, nie pisz mi, ze wystarczlo sprawdzic pod ''xxx.yyy.zzz/1234''. Mamy w wikibooks niesamowite ilosci niepotrzebnego tekstu, ale konkretnej pomocy - brak. Tzn. np. na stronie "Pomoc" - spis tresci - punkt linki wewnetrzne - podpunkt Wikipedia - przyklad linkow (kiedy samo w:, a kiedy w:wikipedia). Edytujac teksty nie chce sie tracic czasu na mozolne wyszukiwanie szablonow, trickow i innych cudow, o ktorych wcale nie chce wiedziec, ze one istnieja. Dlatego poprawie te linki jak mowisz, ale mam prosbe: czy moglbys zdecydowanie uproscic teksty pomocy dla zwyklych, niezainteresowanych technikaliami edytorow? Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:22, 17 paź 2025 (CEST) : {{Ping|EdytaT}} {{Code|w:}} to kod polskiego projektu {{NAZWASERWISU|link=tak|klucz projektu=w}}, a {{Code|Wikipedia:}} to przestrzeń nazw na polskiej '''Wikipedii'''. Dlatego wcześniej było dobrze, bo ten artykuł znajdował się w przestrzeni głównej, lub jego przekierowanie, który z przestrzeni głównej linkował do przestrzeni projektu {{Code|Wikipedia:}}! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:29, 17 paź 2025 (CEST) == Linki do wikislownika == Hej, mam prosbe odnosnie linkow do wikislownika: otoz hasla tam tworzone sa m.in. "case sensitive". Z jezykoznawczego/gramatycznego/ortograficznego punktu widzenia jest to sprawa niezwykle wazna. Czy moglbys w szablonie linku do wikislownika usunac zmiane podanego w parametrach slowa na pisownie dokladnie taka, jak podaje parametr? Pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 10:17, 23 paź 2025 (CEST) ::: Aby wyglad tego slowa "na zewnatrz" dokladnie odpowiadal wygladowi tego slowa w szablonie linku do wikislownika po znaku pipe "|". To znaczy uzylam szablonu {{s|Wikisłownik|endonim}}, kliklnelam na "zapisz zmiany" i w efekcie widze tekst "Zobacz hasło endonim w Wikisłowniku". :::: Aaaa! Wlasnie widze, ze jest ok. Dziekuje. :[[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 11:09, 23 paź 2025 (CEST) : {{Ping|EdytaT}} Aby słowa były pisane od małej litery? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) :Hej, jednak jeszcze minelismy sie myslami. Piszac, ze wikislownik jest "case sensitive" mialam na mysli, ze jezeli po "|" slowo jest napisane mala litera, to ma tak zostac, a jezeli duza, to tez ma tak zostac. Bo np. "jabłko" w jezyku polskim jest pisane mala litera, a "Polska" duza. I dokladnie tak ma to wygladac "na zwenatrz", to znaczy po zapisaniu edycji. Czyli "Zobacz hasło jabłko w Wikisłowniku", "Zobacz hasło gruszka w Wikisłowniku", "Zobacz hasło Polska w Wikisłowniku", "Zobacz hasło Müller w Wikisłowniku" itd. == "prowokujące" opisy zmian w języku angielskim == Witaj, mnie uczono, że opis zmian ma przedstawiać, jakich zmian się dokonało. Czy napisanie (już odpuszczając sobie fragment tekstu piosenki), że ''Użytkownik Dynajtłymet podmienia tabelkę na normalną oraz standaryzuje treść zgodnie z dzisiejszymi normami stylistycznymi'' jest prowokujące? Dla mnie to opisowa forma przedstawiająca, co zrobiłem. Jeżeli uważasz inaczej, napisz - będziemy dyskutować, aż dojdziemy do kompromisu. Take me back to the night we met! [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:46, 26 paź 2025 (CET) : {{Ping|Dynajtłymet}} Tylko nie pisz na końcu opisu zmian takiego tekstu jak: '''Take me back to the night we met!'''! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:50, 26 paź 2025 (CET) ::Co jest złego w mojej ulubionej piosence? Lord Huron to nie kampania zwiększania ilości samobójstw. [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:51, 26 paź 2025 (CET) ::: {{Ping|Dynajtłymet}} Opis zmian ma być neutralny! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:54, 26 paź 2025 (CET) ::::A co, mój opis zmian nie jest neutralny? Będę robił taką samą neutralność jak wy. ::::https://pl.wikinews.org/w/index.php?title=Polski_Zwi%C4%85zek_Esperantyst%C3%B3w_uruchamia_cyfrowe_archiwum_na_wolnej_licencji&oldid=383085 - czy TO jest neutralne? ::::A może wzorcem neutralności będzie twoje usuwanie wszystkiego i wszystkich bez rozróżnienia co i jak? ::::Konkluzja? Inni mogą pisać "nie ma sensu wspominać tego człowieka", ja mogę pisać jedną linijkę swojego ulubionego tekstu. ::::[[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 09:59, 26 paź 2025 (CET) ::::: {{Ping|Dynajtłymet}} Neutralny punkt widzenia, nie ja to wymyśliłem, tylko wikipedyści! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:03, 26 paź 2025 (CET) ::::::Rozumiem i znam filary Wikipedii i jej siostrzanych projektów - ale czy nie widzisz tutaj po prostu zwyczajnej, ludzkiej hipokryzji? ::::::Ja widzę i to ogromną. Znam tego wandala osobiście. ::::::Zastosuję się do zasad, ale pod warunkiem, że ktoś zajmie się wreszcie transparentnością Wikipedii i jej projektów siostrzanych. I mogę to być nawet ja. ::::::Take me back to the night we met. [[Wikipedysta:Dynajtłymet|Dynajtłymet]] ([[Dyskusja wikipedysty:Dynajtłymet|dyskusja]]) 10:06, 26 paź 2025 (CET) == Odpowiedz - uprawnienia administratorskie == Witaj złożyłem wniosek na Meta do stewardów, jednak ciągle oczekuje na rozpatrzenie https://meta.wikimedia.org/wiki/Steward_requests/Permissions#Igor123121@plwikibooks Ale to nic nadzwyczajnego niektóre wnioski czekają znacznie dłużej, trzeba być cierpliwym. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 16:46, 26 paź 2025 (CET) :Witaj. Otrzymałem dzisiaj uprawnienia na 3 miesiące. Za 3 miesiące otworze kolejną dyskusję, przed wygaśnięciem. Niestety ale takie są zasady, że przy małych projektach trzeba najpierw przyznać kilka razy uprawnienia na czas tymczasowy. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 14:11, 28 paź 2025 (CET) == Naruszenia praw autorskich na Wikibooks == Witaj. Piszę informacyjnie - dzisiaj otrzymałem przyznane mi przez Was (dziękuję!) uprawnienia administratora. Dokończyłem sprzątanie naruszających prawa autorskie przepisów użytkownika [[Specjalna:Wkład/Snd125671|Snd125671]](bo nie wszystkie były naruszeniem), więc wydaje się, że raz na zawsze udało nam się uporać z tymi naruszeniami w książce kucharskiej. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 17:37, 28 paź 2025 (CET) == Storing user properties == Hi, Sorry for English. We are getting a lot warnings in our infrastructure because your account is holding 18K user properties rows which seems to be added via [[Wikipedysta:Persino/Gadget-DodatkiSubst.js/Skrypt.js]]. This is putting an undue load on the infrastructure and soon we will be adding a limit on number of rows a user can store. You can use local storage in your device instead of wikimedia servers to store these information. It would be great if you remove those rows (guideline: [[phab:T408733#11324972]]). See [[phab:T408733]] for more information. If you have any questions, feel free to contact me. Thanks! [[Wikipedysta:ASarabadani (WMF)|ASarabadani (WMF)]] ([[Dyskusja wikipedysty:ASarabadani (WMF)|dyskusja]]) 12:13, 30 paź 2025 (CET) :Hej, widzę, że już przerobiłeś swój skrypt. Dzięki za szybką reakcję :) [[Wikipedysta:Matma Rex|Matma Rex]] ([[Dyskusja wikipedysty:Matma Rex|dyskusja]]) 22:55, 30 paź 2025 (CET) == Odp. == Wydaje mi się, że wszystkie linkujące poprawiłem, jednak jeżeli mógłbyś uczynić dokładne sprawdzenie tego to byłbym ogromnie Ci wdzięczny. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:26, 31 paź 2025 (CET) :@[[Wikipedysta:Persino|Persino]] oczywiście wiem, czym są linkujące, bez przesady, aż tak źle nie jest ;) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:30, 31 paź 2025 (CET) ::@[[Wikipedysta:Persino|Persino]] dobrze spróbuje samodzielnie, nie wściekaj się na mnie, chce dobrze :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:33, 31 paź 2025 (CET) :::@[[Wikipedysta:Persino|Persino]] chyba wszystko się udało, wszystkie wzmianki i szablony o gimnazjum wymieniłem :) Bardzo Ci dziękuję za całą pomoc, którą mi udzielasz. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:27, 31 paź 2025 (CET) == "https://pl.wikibooks.org/wiki/Kategoria:Ksi%C4%85%C5%BCka_kucharska/Spis_alfabetyczny" vs "https://pl.wikibooks.org/w/index.php?title=Ksi%C4%85%C5%BCka_kucharska/Alfabetyczny_spis_potraw" == Hej, tę kategorię rozumiem i popieram. Ale czy potrzebna jest ta inna strona? Bo po pierwsze to w zasadzie duplikat, a po drugie chyba wymaga ciągłej manualnej aktualizacji. Czy sie myle? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:41, 12 lis 2025 (CET) : {{Ping|EdytaT}} Lepsza jest spis kategoria niż spis artykuł, jak tak myślę!? [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:45, 12 lis 2025 (CET) == Prosba o wyjasnienie == Hej, klikajac na "Ostatnie zmiany" pojawia sie kilka naglowkow, m.in. "Ksiazki: nowe - krótkie - porzucone - Poczekalnia - Ekspresowe kasowanie - logi". I np. wsrod "porzuconych" znajduje sie przepis "[[Książka_kucharska/Zupa_z_dyni]]". To fakt, ze do tej strony (jak i chyba do wiekszosci przepisow) zadna strona sie nie odwoluje. Ale to przeciez nie znaczy, ze jest "porzucona". Czy to nie jest nieporozumienie? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:29, 14 lis 2025 (CET) :{{Ping|EdytaT}} To nie znaczy, że jest do końca porzucony, wystarczy edytować ten artykuł! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:38, 14 lis 2025 (CET) :: {{Ping|EdytaT}} Do tych stron nie odwołuje się żadna inna strona, jedynie kategorie, ale to nie jest nieporozumienie... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:42, 14 lis 2025 (CET) == Prosba o pomoc, jak poddac cos pod glosowanie nad usunieciem. == Hej, naprawde nie wiem, jak to zrobic - tak po prostu - kliknac na cos na stronie glownej (ale na co, bo jak klikne na poczekalnie, to jestem kompletnie zagubiona), gdzie mozliwie na samej gorze bedzie tekst typu "Zglos strone/podrecznik czy cokolwiek do usuniecia", a potem (albo od razu, bez dalszego przeklikiwania) bede mogla podac co proponuje usunac, dlaczego i ze prosze o glosowanie w ciagu 7 (albo wiecej) dni. Moim aktualnym kandydatem jest [https://pl.wikibooks.org/wiki/Szkice_helweckie_W%C5%82adys%C5%82awa_Tarnowskiego_z_komentarzem]. Pomoz prosze! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 19:08, 18 lis 2025 (CET) == Ta akcja została automatycznie zidentyfikowana jako szkodliwa == Witam, edytuję [[Matematyka dla ostatnich klas szkoły podstawowej/Przekątna kwadratu i wysokość w trójkącie równobocznym]] i wyświetla mi się: ''Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana: Kontekstowa analiza tekstu w poszukiwaniu wandalizmów w wikitekście'' Proszę o zatwierdzenie zmian. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 16:34, 27 lis 2025 (CET) :Problem już się rozwiązał, dziękuję. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 16:39, 27 lis 2025 (CET) == Szablony dla przypisow == Hej, chcialabym bardzo miec do dyspozycji kilka szablonow dla linkow do zrodel dla (grup) podrecznikow. Czy mozna cos takiego zrobic? Np: *nazwa szablonu: Szablon:Ziel_Panacea *zawartosc: https://www.https://panacea.pl/ i tutaj po znaku "|" parametr z dowolnym dodatkiem url , np: tymianek-2 i *po nastepnym po znaku "|" co ma byc widoczne dla czytelnika: ''Tymianek'' w: Panacea.pl *po nastepnym znaki "|" parametr z info o autorze, dacie publikacji, np. , Dział Rozwoju, Labofarm, 11.08.2025, *a na koncu "dostęp" + automatycznie dzisiejsza data 06.12.2025 *i po kliknieciu laduje tu: [https://panacea.pl/tymianek-2/] : albo: nazwa szablonu: Szablon:Pszcz_Pasieka24 zawartosc: [https://pasieka24.pl/index.php/pl-pl/pasieka-czasopismo-dla-pszczelarzy/ i tutaj po znaku "|" dowolny dodatek, np: 260-pasieka-5-2024 i *po nastepnym po znaku "|" co ma byc widoczne dla czytelnika: ''Pasieka 5/2024'' w: Pasieka24.pl *po nastepnym znaki "|" parametr z info o ewent. autorze, ewent. dacie publikacji i dostepnosci, np. , *a na koncu "dostęp" + automatycznie dzisiejsza data 06.12.2025 *i po kliknieciu laduje tu: [https://pasieka24.pl/index.php/pl-pl/pasieka-czasopismo-dla-pszczelarzy/260-pasieka-5-2024] [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:37, 6 gru 2025 (CET) ** Hej, dziekuje po raz pierwszy w tym temacie :) , ale moze bede mogla jeszcze raz podziekowac, jezeli: :* zobacz tu (ref z szablonem i widok przypisu): [https://pl.wikibooks.org/wiki/Napary/Macierzanka_tymianek] :* a chcialabym, zeby widok przypisu byl taki: panacea.pl, Dział Rozwoju Labofarm, ''Tymianek'', 11.08.2025 (dostęp: 07.12.2025). gdzie: # panacea.pl - to nazwa strony, czyli pierwsza czesc nazwy strony (https://panacea.pl/) wraz z dodatkiem tymianek-2, czyli podstrona, ktora wstawiam jako parametr w szablonie (jako podstrona, ale brzmienie tego parametru nie ma byc widoczne) ## i teraz strzalka linkujaca. # Dział Rozwoju Labofarm - to autor, ktorego wstawiam opcjonalnie jako kolejny parameter (autor=) # ''Tymianek'' - to tytul, ktory wstawiam jako kolejny parametr (tytul=) # 11.08.2025 - to data publikacji, ktora wstawiam opcjonalnie jako kolejny parametr (publ=) # (dostęp: 07.12.2025) - to data dostepu, generowana automatycznie przez szablon (z dzisiejszej daty). Chyba ze zapisanie jekiejkolwiek zmiany w artykule (niezwiazanej z tym przypisem) powodowaloby zmiane tej daty. To wtedy i te date musialabym wstawiac sama. :* Jezeli mozna, to wole parametry "nazwane" od "pozycyjnych". Hej, zastosowalam te szablony na dwoch stronach: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Ro%C5%9Bliny/Bluszcz] i tu [https://pl.wikibooks.org/wiki/Napary/Macierzanka_tymianek]. Czy moglbys jeszcze troche zmienic "dostep" na "dostęp " i tu dzisiejsza data w formacie dd.mm.yyyy. To wtedy ucieszylabym sie z przeniesienia tych szablonow z brudnopisu do "prawdziwych" szablonow. Wtedy dopasuje to na tych dwoch stronach. Dziekuje. * Hej, nie chcialabym byc namolna, ale ... jeszcze dwie prosby: czy da sie zmienic formatowanie "dostepu" na date zapisania edycji w formacie dd.mm.yyyy? I druga prosba: czy po kliknieciu w link moglby sie on ontwierac w nowej karcie? A poza tym perfekt. Jestes wielki. Dziekuje i pozdrawiam serdecznie. == Szablon linku dla ksiazki online jako zrodla - mozesz pomoc? == Hej, czy mozesz poprawic moja nieudana probe stworzenia przypisu i zalazku szablonu do ksiazki online? Ten zalazek szablonu to Szablon:Pszcz_FeA, a link do tego szablonu probowalam zrobic na stronie [[Pszczelarstwo/Rośliny]], ale mi nie wyszlo ... [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:46, 9 gru 2025 (CET) == Szablony linkow do czasopism jako zrodel - male nieporozumienie == Hej, chcialabym napisac, jakie sa moje zamiary, zaczne od poczatku: # Pisales kiedys, żeby raczej nie uzywac linkow zewnetrznych do zrodel, poniewaz te zrodla szybko przestaja byc aktualne i dostepne - zgadzam sie z tym w 100 procentach, wiec: # Poniewaz czasem takie zrodla sa bardzo sensowne, bo kieruja do wynikow badan naukowych i publikacji specjalistow, ktorych inaczej nie da sie uwiarygodnic. # Ergo: potrzebna jest taka metoda zrodel, ktora w nieskomplikowany sposob pomoze od czasu do czasu te zrodla uaktualnic (najczesciej inny adres strony internetowej lub wymiana na inne zrodlo) # Moim zdaniem - najlepiej przez szablony, poniewaz: ## Zmiane przeprowadza sie w jednym miejscu i obsluguje sie tym samym wieksza ilosc artykulow w wikibooks ## Waznym jest, by wiedziec, gdzie te szablony zostaly uzyte, a do tego sluzy najwygodniesza dla mnie metoda: klikam na strone szablonu, a potem na "linkujace". ## I tutaj nieporozumienie: wycielam w tych szablonach linki do wpisanych przez ciebie "ZObacz tez: Tematyczne oraz Inne, poniewaz w wyniku dla "linkujacych" one sie pokazja i informacja "ktore strony linkuja (uzywaja) tego szablonu" staje sie bezuzyteczna. Aby naprawde dowiedziec sie, gdzie ten szablon zostal uzyty, jestem zmuszona do klikania we wszystkie wyniki wyszukiwania, by sie dowiedziec, ze w tam nic nie ma, ze te szablony sa tam tylko po to, zeby byc. Wartosc informacji zerowa, czas stracony na te prodedure duzy. # Dlatego prosze cie, zebys uznal moje edycje usuwajace uzycie tych szablonych w innych szablonach, ktore z tym szablonem merytorycznie nie maja nic wspolnego. # Natomiast kategoryzacyjnie postanowilam pogrupowac te zrodla alfabetycznie (Szablony:Pszcz_... dla podrecznika pszczelarstwa, szablony: Ziel_... dla podrecznika/podrecznikow zielarskich). Tym sposobem, klikajac na kategorie tych szablonow, uzyskujesz informacje, ktore spelnia te sama role jak "zobacz tez", ale bez negatywnych skutkow ubocznych. Jejku, ale sie rozpisalam. Czy to w ogole oddaje sens tego, o czym mysle? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:16, 11 gru 2025 (CET) == Szablony do czasopism jako zrodel - czy mozliwe sa jeszcze pewne uzupelnienia? == Hej, czy mozna jeszcze troche pouzupelniac te szablony? Np. Szablon:Pszcz_Pasieka24: * teraz jest: podstrona=|nazwa=|autorzy=|czasopismo=|opublikowany=|dostęp= * lepszy bylby odpowiednik takiego ref: # refname=staly element szablonu taki sam jak nazwa szablonu # refnr=''opcjonalnie dodatek, jezeli ten szablon jest wykorzystany w artykule wiecej razy z innymi podstronami'' # autorzy=''opcjonalnie nazwiska autorow'' # strona=staly element szablonu, tzn. adres strony glownej # podstrona=''opcjonalnie podstrona (bo moze informacja jest juz na stronie glownej) # tytul=''tytul/tekst do pokazania wraz z symbolem "link"'' # czasopismo=staly element szablonu z nazwa czasopisma, ktora jest dla tego szablonu niezmienna, ale w zaleznosci od szablonu moze byc pusta # numer=''opcjonalnie numer zeszytu'' # wydawca=staly element szablonu, ktory w zaleznosci od szablonu moze byc pusty # miejscewydania=staly element szablonu, ktory w zaleznosci od szablonu moze byc puste # rokwydania=''opcjonalnie rok wydania'' # dostep=automatyczny dodatek (dostep dd.mm.yyyy) [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:39, 11 gru 2025 (CET) == Odp == Cześć. Nie plagiat, nie biorę ich z internetu ani nie przepisuje papierowych. Dobrego wieczoru! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:31, 13 gru 2025 (CET) :Dziękuję serdecznie za przydatne rady, będę miał je w głowie. Pozdrawiam [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 22:35, 13 gru 2025 (CET) == Pytanie do: "Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon" == Hej, w szablonie "przypis strony" w sekcji "Jak tworzyć szablony szczególne szablonu w oparciu o ten szablon" sa takie dwie linijki, ktore wygladaja na ogolny sposob tworzenia szablonow do zrodel czasopism. Widze tam miejsce, gdzie mozna podac konkretna nazwe strony (adres=https://.....). Ale nie wiem, gdzie umiescic dalsze "stale" parametry: "czasopismo=" (tzn. jak dla tego czasopisma ma byc pokazany jego tytul), "issn=" oraz "wydawca?". Mozesz mi wyjasnic? Pozdrawiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 16:29, 14 gru 2025 (CET) == Dlaczego nie widac nazwisk autorow w przypisie? == Hej, no nie wiem. Dlaczego tu: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Biologia/Kom%C3%B3rka] nie widac nazwisk autorow w przypisie (autorzy=Beata Bąk, Maciej Siuda, Jerzy Wilde)? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 22:06, 14 gru 2025 (CET) == Odp. == Cześć! Zaskoczyłeś mnie - myślałem, że wszystkie podręczniki są na tej samej licencji. Ale jeżeli można wybrać to najbardziej preferuje CC-BY-4.0 [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:04, 18 gru 2025 (CET) :Po obejrzeniu przykładu samodzielnie opatrzyłem podręczniki tymże szablonem :[https://pl.wikibooks.org/w/index.php?title=Etyka_dla_szko%C5%82y_podstawowej&diff=prev&oldid=528107 diff] [https://pl.wikibooks.org/w/index.php?title=Wychowanie_do_%C5%BCycia_w_rodzinie&diff=prev&oldid=528106 diff] [https://pl.wikibooks.org/w/index.php?title=Przyroda&diff=prev&oldid=528105 diff] [https://pl.wikibooks.org/w/index.php?title=Edukacja_zdrowotna&diff=prev&oldid=528104 diff] :Jeżeli chcesz to możesz sprawdzić ewentualnie poprawność wprowadzonych szablonów. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:22, 18 gru 2025 (CET) == Znacznik == Skąd i dlaczego raptem znacznik <<styl do sprawdzenia>> w poprawianym przeze mnie [[Książka kucharska/Kugel|haśle]] Książki kucharskiej? Nie rozumiem, czemu ten komunikat generuje jakieś "oprogramowanie" (a nie konkretna osoba) i o co właściwie tu chodzi wobec braku konkretnego wskazania/wskazań. Jaka sytuacja wywołuje taką adnotację dla danej edycji? Dotąd nie spotykam się z podobnymi uwagami, tym bardziej, że to raczej mnie od kilkudziesięciu lat przypada poprawianie cudzego stylu i języka. Czy mógłbyś to przystępnie wyjaśnić? - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 00:16, 20 gru 2025 (CET) == Ukrycia == Cześć! Uprzejmie przypominam, że narzędzia ukrywania używamy do chowania „wyjątkowo wulgarnych edycji”. Widziałem, że ukryłeś dziś opis zmian [https://pl.wikibooks.org/w/index.php?title=Pomocnik_olimpijczyka_-_Elementy_wiedzy_obywatelskiej_i_ekonomicznej/Scena_polityczna&diff=prev&oldid=528484 tej edycji] natomiast nie ma nic wulgarnego bądź niestosownego w opisie „''Proletariusze wszystkich krajów, łączcie się!''”, wiadomo może jest nietypowy, ale z pewnością nie kwalifikuje się do ukrycia. Tak samo przy [https://pl.wikibooks.org/w/index.php?title=Pomocnik_olimpijczyka_-_Elementy_wiedzy_obywatelskiej_i_ekonomicznej/Scena_polityczna&diff=prev&oldid=528488 tej edycji] opis „''no ja wszystko rozumiem, ale są tu też pożyteczne edycje''”, również nie zawiera niczego niestosownego. Dobrego wieczoru i serdecznie pozdrawiam :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:49, 22 gru 2025 (CET) : {{Ping|Igor123121}} Opisy tych edycji nie spełniają zasady neutralnego punktu widzenia. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:52, 22 gru 2025 (CET) ::@[[Wikipedysta:Persino|Persino]] Jasne, rozumiem, dzięki za wyjaśnienie. Nie mam zamiaru kwestionować Twojej decyzji administratorskiej. Chciałem tylko upewnić się, jak w praktyce interpretujemy zasady dotyczące ukrywania opisów zmian. Dzięki za doprecyzowanie i pozdrawiam serdecznie. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 21:58, 22 gru 2025 (CET) == Blokada treści przez filtr == Znów cyrki z filtrem nadużyć. Tym razem w Książce kucharskiej, w której ostatnio wszystko odbywało się bezkolizyjnie. Wprowadzam właśnie '''Włoskie pierożki wigilijne''', a w odpowiedzi otrzymuję powiadomienie o mojej "akcji jako szkodliwej", przy czym dokonane nadużycie (czego i tak nie rozumiem) brzmi: "Wielokrotne nowe linie znacznikowo-szablonowo-znakowe, kolejne w wielu liniach, lub w jednej linii". Chyba machnę ręką i niech szlag trafi cały ten przepis (i ewentualne przyszłe też). Kto bowiem uwierzy, że te udoskonalenia mają piszącym ułatwiać życie? - [[Wikipedysta:Cyborian|Cyborian]] ([[Dyskusja wikipedysty:Cyborian|dyskusja]]) 22:39, 22 gru 2025 (CET) :{{Ping|Cyborian}} Filtry są dopiero tworzone, więc przepraszam za problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:53, 24 gru 2025 (CET) == Prześladowania esperantystów w III Rzeszy i Związku Radzieckim == Dzień dobry, wczoraj wieczorem próbowałem napisać na tej stronie podręcznik dotyczący prześladowań esperantystów w III Rzeszy i Związku Radzieckim. Nie rozumiem, dlaczego moja praca została usunięta. Rozumiem, że tempo tworzenia mojej pracy oraz jej tematyka mogą być podejrzane, ale po prostu tak mam, że jestem „rewolwerzystą” w zakresie obsługiwania komputera i szybko tworzę strony, a jeżeli chodzi o braku merytoryczne, to takowe nie istnieją, gdyż zaopatrzyłem się w wszystkie niezbędne źródła. Bardzo dobrze znam temat. Wiem np. o esperanckiej grupie ruchu oporu w obozie Dachau (ok. 20 więźniów z Francji i Niemiec), posiadam niezbędne prace i chciałem tylko przybliżyć czytelnikowi ów prześladowania pisząc o nich na Wikibooks. Prosiłbym o odpowiedź z precyzyjnym wyjaśnieniem, dlaczego mało znany element historii jest „spamowaniem” i co mógłbym poprawić, aby książka mogła znowu zainstnieć. Z pozdrowieniami, [[Wikipedysta:Szmaragd zielony jak język|Szmaragd zielony jak język]] ([[Dyskusja wikipedysty:Szmaragd zielony jak język|dyskusja]]) 10:18, 23 gru 2025 (CET) : {{Ping|Szmaragd zielony jak język}} Zaloguj się pod normalną nazwą użytkownika, nie prowokuj! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:36, 23 gru 2025 (CET) == Odp. == Cześć. Obecnie niedokończoną mam tylko jedną, więc myślę, że do końca świąt powinienem ją skończyć. Wesołych świąt! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 11:14, 24 gru 2025 (CET) :Tak, tak będę go również robił spokojnie. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 18:27, 24 gru 2025 (CET) == Dziękuję za zaakceptowanie mojej pracy! == Zacząłem pisać dalej. Co prawda praca będzie taka „przerywana”, gdyż trochę trwa redagowanie fragmentów, a i nie mam zbyt wiele czasu – to staram się. Znalazłem kilka ciekawych źródeł, jak np. [http://esperanto.china.org.cn/EL/EL/ElPopolaCxinio/98-7-4.html ta strona], co daje mi spore pole do popisu. Pozdrawiam i mam nadzieję na owocną współpracę! [[Wikipedysta:Benjamin E. Schneider|Benjamin E. Schneider]] ([[Dyskusja wikipedysty:Benjamin E. Schneider|dyskusja]]) 11:41, 25 gru 2025 (CET) == Filtr 107 == Cześć próbowałem opublikować opracowanie „Artysty” Sławomira Mrozka, jednak filtr 107 mi nie pozwolił. Nie zauważyłem nigdzie błędów składniowych, więc gdybyś mógł rzucić okiem to byłbym wdzięczny. Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:50, 28 gru 2025 (CET) :Tu chodzi o filtr 103, a nie o 107. Problem naprawiony. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 06:44, 29 gru 2025 (CET) == zbyt silny filtr nadużyć == Filtr nadużyć mówi mi "Tekst w większości w innych systemach niż łaciński" na stronie [[Dyskusja:Biologia dla liceum/Podstawa programowa]] gdzie próbowałem sobie zanotować informację roboczą z linkiem do podstawy programowej. [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 21:15, 29 gru 2025 (CET) :{{Ping|Marek Mazurkiewicz}} Już naprawione. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:30, 29 gru 2025 (CET) == Powtarzające się ciągi znaków w linii wikitekstu == Edytuję małą część swojego podręcznika i wymaga ona dużo znaczników <code>\frac{}</code>. Filtr nadużyć traktuje to jak spam. [[Wikipedysta:YxiCode|YxiCode]] ([[Dyskusja wikipedysty:YxiCode|dyskusja]]) 21:24, 30 gru 2025 (CET) == Dopasowania w filtrze nadużyć == Hej, niestety znowu problemy w filtrze nadużyć, które '''u n i e m o ż l i w i a j ą''' normalne edytowanie. W tej edycji [[Pszczelarstwo/Sprzęt]] nie mogę wpisać nazwy ula, która brzmi "Dadant". Prawdopodobnie dlatego, że filtr nie potrafi przełknąć "dada" bez czkawki. Wydaje mi się, że trzeba to rozwiązać tak: filtr ostrzega, a po ponownym kliknięciu zapisuje swoje zastrzeżenia na stronie dla administratorów nie blokując edytującego. Administratorzy mogą potem reagować, czy to wandalizm, nadgorliwość filtru czy zignorować. A ja, jako zwykły człowiek edytujący tekst, mogę ten tekst po prostu zapisać i dalej zajmować się tym, czym chcę się zajmować. Nie tracąc czasu, nerwów i energii na fochy filtra. Pozdrawiam serdecznie - szczęśliwego Nowego Roku! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 17:20, 3 sty 2026 (CET) * {{Ping|EdytaT}} Problem z filtrem naprawiony, możesz edytować spokojnie. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:45, 3 sty 2026 (CET) == Projekt nowej strony głównej == Zajmuję się projektem, który od dawna spędza nam sen z powiek. Jak wszystko będę miał gotowe, będzie można redagować, wstawiać, etc. W ramach [[Wikipedysta:Benjamin_E._Schneider/projektyy|tej strony]] podejmuję się działań: * przepisania kodu SG na nowoczesnego HTML-a bez rozwalania na szablony * unowocześniania interfejsu SG * zadbania o przyjazność dla użytkownika. Jeżeli będziesz miał jakieś sugestie, napisz lub popraw. [[Wikipedysta:Benjamin E. Schneider|Benjamin E. Schneider]] ([[Dyskusja wikipedysty:Benjamin E. Schneider|dyskusja]]) 16:24, 6 sty 2026 (CET) == Filtr == Cześć. Dzisiaj filtr 72 ([[Specjalna:Rejestr nadużyć/8509]]) odrzucił prawidłową edycje anonimowego edytora tylko dlatego, że próbował edytować stronę, na której znajduje się nieistniejący plik (strona [[Powtarzamy matematykę - matura 2011/Matura2010 zad22]]). Czy nie warto złagodzić działania tych filtrów, np. zmienić je z odrzucania na samo oznaczanie edycji do sprawdzenia dla administratorów? Pozdrawiam. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 19:57, 8 sty 2026 (CET) :{{Ping|Igor123121}} Zamieniłem je na ostrzeżenie! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:05, 8 sty 2026 (CET) == Błąd filtru == Cześć. Dostrzegłem dzisiaj bardzo poważny błąd w filtrze 51 naszego filtru nadużyć - uniemożliwia on tworzenie stron z nieliter (przez co również nie można utworzyć strony dyskusji anonimowego użytkownika działającego przez konto tymczasowe i przez to kontaktu z nim) Zobacz proszę na ostatni rejestr filtru. Wydaje mi się, że trzeba zmienić na znacznik zamiast odrzucenie (oczywiście mógłbym sam zmienić, ale nie chce niczego dokonywać bez konsultacji z Toba). Pozdrawiam. [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 23:07, 4 lut 2026 (CET) : {{Ping|Igor123121}} Wystarczyło dodać dodatkowe warunki. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 04:53, 5 lut 2026 (CET) == Kategoria:Szablon:Przypisy (artykuły) bez oczekiwanego nagłówka == Hej, co powinnam robić, żeby to się nie pojawiało? Np. tu: [https://pl.wikibooks.org/wiki/Pszczelarstwo/Ro%C5%9Bliny/Abelia]. Pozdrwiam serdecznie [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:58, 12 lut 2026 (CET) :{{Ping|EdytaT}} To jest kategoria do zbierania stron, na których nie użyta nagłówka: <nowiki>==Przypisy==</nowiki>, inaczej mówiąc, wpisz ten nagłówek przed wywołaniem: {{s|Przypisy}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:13, 12 lut 2026 (CET) ::Hej, nie uwierzysz - teraz pojawia się: Kategoria: Szablon:Przypisy (artykuły) z oczekiwanym nagłówkiem :):):):):) [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 20:02, 12 lut 2026 (CET) :{{Ping|EdytaT}} Właśnie to są kategorie do zbierania tego typu przypadków, też nie uwierzysz! :):):):) [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:07, 12 lut 2026 (CET) ::{{Ping|EdytaT}} Chyba, że tą drugą mam inaczej nazwać. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 20:09, 12 lut 2026 (CET) :::To znaczy, żeby się tego pozbyć, to nie mogę używać przypisów? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 21:46, 12 lut 2026 (CET) ::::{{Ping|EdytaT}} Jak nie przypisów, to czego będziesz używać, ja je włożyłem do szablonów {{s|Przypisy}}, {{s|Uwagi}} i {{s|Przypisy-lista}}, ja tak tego nie mogę się pozbyć, bo to byłby wandalizm, musiał bym usunąć moduł {{m|Przypisy}} i samo ciało implementacji, tych szablonów! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:56, 12 lut 2026 (CET) ::::{{Ping|EdytaT}} Te dwie kategorie to są kategorie tylko informacyjne, aby wiedzieć jakiego typu przypadki są na stronie, aby je bardzo łatwo było naprawić, jakby nastąpił problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:58, 12 lut 2026 (CET) :::::No jeżeli te informacje są rzeczywiście potrzebne, to trudno. A można je chociaż "ukryć", żeby poza administratorami nikt ich nie widział? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 12:11, 13 lut 2026 (CET) :::::{{Ping|EdytaT}} Dobrze [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 16:22, 13 lut 2026 (CET) == Never ending story? == Hej, błagam, czy możesz zrobić tak, żeby żadne, absolutnie żadne filtry nie wtrącały się do tego, co edytuję? Po raz 100n-ty pojawia mi się meldunek "Ta akcja została automatycznie zidentyfikowana jako szkodliwa, w związku z tym została odrzucona. Jeśli uważasz, że ta edycja była zasadna, skontaktuj się z administratorem i poinformuj go o zaistniałej sytuacji. Krótki opis reguły nadużycia, do której Twoja akcja została dopasowana:". Tym razem z dodatkiem: "Eksperymentalne tworzenie stron", co oczywiście nie ma nic wspólnego z rzeczywistością. Te przeszkody w edytowaniu stron odstraszyły na pewno niejednego chętnego do pisania w Wikibooks. Jestem załamana. Kompletnie załamana i już się chyba nie pozbieram. Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 15:08, 10 kwi 2026 (CEST) : {{Ping|EdytaT}} Już naprawiłem problem, zrobiłem, że liczba znaków maksymalna w tym filtrze, nie jest już 150, tylko 50, aby był to eksperyment edycyjny! Sprawdziłem twoje edycje, teraz nie wykrywa zmian, czyli jest OK! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:27, 10 kwi 2026 (CEST) == Prosze o pomoc == Tutaj https://pl.wikibooks.org/wiki/Zio%C5%82a_i_przyprawy/Kolendra_siewna próbuje wpisać, że Wikibooks/Ekoogrodnictwo ma artykuł na temat kolendry, a potem że Książka kucharska ma przepisy z kolendra. Ale nie umiem. Czy możesz mi pomoc? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:52, 10 kwi 2026 (CEST) : {{Ping|EdytaT}} Daj mi chwilę na stworzenie odpowiednich szablonów. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:02, 10 kwi 2026 (CEST) :: {{Ping|EdytaT}} Już szablon przyszykowany, zobacz {{s|Wikibooks}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:27, 10 kwi 2026 (CEST) == Zmiana na "stare" == Hej, widzę, że cofasz moje przekierowania na uproszczony dostęp do artykułów. Tzn. zamiast "płasko" (np. Ekoogrodnictwo/jakas-roslinka) to "w drabince" (np. Ekoogrodnictwo/stopien-drabinki/jakas-roslinka). Jest ok, niech tak będzie, ale szkoda, że o tym nie porozmawialiśmy. Robiąc moje pierwsze "spłaszczenie" chodziło mi o kilka rzeczy, co w powodzie zmiany napisałam. M.in. o prostszy zapis dostępu, aby nie trzeba było pamiętać całej drabinki robiąc z innych artykułów. Po drugie jest problem, gdy jakaś roślinka jest raczej "ozdobna" niż "użytkowa",, ale poprzez tę drabinkę jest na stale przypisana tylko do jednej z nich. W sumie to jest niepoprawne. Oczywiście zdawałam sobie sprawę, że potrzeba trochę czasu, by uporządkować te wszystkie drabinki, ale przecież ten czas mamy. A czym ty się kierowałeś? Pozdrawiam [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:43, 12 kwi 2026 (CEST) : {{Ping|EdytaT}} Jak roślina jest jednocześnie użytkowa i jakiś artykuł w tym kierunku, dalej chcemy stworzyć artykuł dla tej samej rośliny, ale jako ozdobnej, to tworzymy przekierowanie do niej, ale użytkowej, ze strony artykułu, ale ozdobnej. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:01, 12 kwi 2026 (CEST) :: {{Ping|EdytaT}} W książce [[Ekoogrodnictwo]], nie wiadomo, czy dany artykuł wskazuje na roślinę, czy na coś innego, więc lepszą motywacją jest wersja drabinkowa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:58, 12 kwi 2026 (CEST) == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will be a week in between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 22:07, 28 kwi 2026 (CEST) </div> <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30472432 --> == Pruski/Lekcja13 == Cześć, dlaczego wycofałeś moje edycje na stronie Pruski/Lekcja13? [[Wikipedysta:Aklbmd164|Aklbmd164]] ([[Dyskusja wikipedysty:Aklbmd164|dyskusja]]) 00:53, 21 maj 2026 (CEST) : {{Ping|Aklbmd164}} Wybacz, podczas przeglądania w telefonie mogło się coś mi nacisnąć przez przypadek! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 01:09, 21 maj 2026 (CEST) :Dzięki [[Wikipedysta:Aklbmd164|Aklbmd164]] ([[Dyskusja wikipedysty:Aklbmd164|dyskusja]]) 01:09, 21 maj 2026 (CEST) 4nopw7dyumplt4tnpwtbk41815omgm0 Niemiecki/Słowotwórstwo/Zrostek/Tabela zrostków derywacyjnych 0 22422 543530 543529 2026-05-20T12:01:19Z EdytaT 2664 543530 wikitext text/x-wiki {{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}} == Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim == === Afiksy rzeczownikowe (''Nominalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-wesen -wesen] | -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur |- |} === Afiksy przymiotnikowe (''Adjektivaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll] | -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs |- |} === Afiksy czasownikowe (''Verbalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu- | de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans- | -ig, -(is/ifiz)ier, -(e)l, -(e)r | |- |} === Afiksy przysłówkowe (''Adverbialaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | | | -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise | |- |} === Sufixoidy (''Suffixoide'') === * Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo. * [http://pl.wiktionary.org/wiki/-artig -artig] * [http://pl.wiktionary.org/wiki/-artig -arm] * [http://pl.wiktionary.org/wiki/-artig -fest] * [http://pl.wiktionary.org/wiki/-artig -frei] * [http://pl.wiktionary.org/wiki/-artig -haltig] * [http://pl.wiktionary.org/wiki/-artig -los] * [http://pl.wiktionary.org/wiki/-artig -mäßig] * [http://pl.wiktionary.org/wiki/-artig -reich] * [http://pl.wiktionary.org/wiki/-werk -werk] qmczy1jmfjzv2obqpnmy26qz07ho2uu 543531 543530 2026-05-20T12:08:07Z EdytaT 2664 /* Sufixoidy (Suffixoide) */ 543531 wikitext text/x-wiki {{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}} == Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim == === Afiksy rzeczownikowe (''Nominalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-wesen -wesen] | -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur |- |} === Afiksy przymiotnikowe (''Adjektivaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll] | -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs |- |} === Afiksy czasownikowe (''Verbalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu- | de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans- | -ig, -(is/ifiz)ier, -(e)l, -(e)r | |- |} === Afiksy przysłówkowe (''Adverbialaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | | | -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise | |- |} === Sufixoidy (''Suffixoide'') === * Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo. * [http://pl.wiktionary.org/wiki/-artig -artig] * [http://pl.wiktionary.org/wiki/-artig -arm] * [http://pl.wiktionary.org/wiki/-artig -fest] * [http://pl.wiktionary.org/wiki/-artig -frei] * [http://pl.wiktionary.org/wiki/-artig -haltig] * [http://pl.wiktionary.org/wiki/-artig -los] * [http://pl.wiktionary.org/wiki/-artig -mäßig] * [http://pl.wiktionary.org/wiki/-artig -reich] * [http://pl.wiktionary.org/wiki/-werk -werk] {{Przypisy}} <!-- https://www.duden.de/sprachwissen/sprachratgeber/Die-Suffixe-los-und-weise --> 4vkxiwzi2qxss0v10eeyk55j1b12lss 543532 543531 2026-05-20T12:16:11Z EdytaT 2664 /* Sufixoidy (Suffixoide) */ 543532 wikitext text/x-wiki {{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}} == Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim == === Afiksy rzeczownikowe (''Nominalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-wesen -wesen] | -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur |- |} === Afiksy przymiotnikowe (''Adjektivaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll] | -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs |- |} === Afiksy czasownikowe (''Verbalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu- | de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans- | -ig, -(is/ifiz)ier, -(e)l, -(e)r | |- |} === Afiksy przysłówkowe (''Adverbialaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | | | -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise | |- |} === Sufixoidy (''Suffixoide'') === * Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełnią funkcję cząstki tworzącej nowe słowo. * [http://pl.wiktionary.org/wiki/-artig -artig] * [http://pl.wiktionary.org/wiki/-artig -arm] * [http://pl.wiktionary.org/wiki/-artig -fest] * [http://pl.wiktionary.org/wiki/-artig -frei] * [http://pl.wiktionary.org/wiki/-artig -haltig] * [http://pl.wiktionary.org/wiki/-artig -los] * [http://pl.wiktionary.org/wiki/-artig -mäßig] * [http://pl.wiktionary.org/wiki/-artig -reich] * [http://pl.wiktionary.org/wiki/-werk -werk] {{Przypisy}} <!-- https://www.duden.de/sprachwissen/sprachratgeber/Die-Suffixe-los-und-weise --> 5feuplqwmvr1ejmni79r28z1mtjmmvt 543534 543532 2026-05-20T12:36:00Z EdytaT 2664 /* Sufixoidy (Suffixoide) */ 543534 wikitext text/x-wiki {{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}} == Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim == === Afiksy rzeczownikowe (''Nominalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-wesen -wesen] | -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur |- |} === Afiksy przymiotnikowe (''Adjektivaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-] | a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra- | [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll] | -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs |- |} === Afiksy czasownikowe (''Verbalaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu- | de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans- | -ig, -(is/ifiz)ier, -(e)l, -(e)r | |- |} === Afiksy przysłówkowe (''Adverbialaffixe'') === {|class="wikitable" |+ ! Przedrostki (''Präfixe'') ! Przedrostki (''Präfixe'')<br> pochodzenia obcego ! Przyrostki (''Suffixe'') ! Przyrostki (''Suffixe'')<br> pochodzenia obcego |- | | | -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise | |- |} === Sufixoidy (''Suffixoide'') === * Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełnią funkcję cząstki tworzącej nowe słowo. * [http://pl.wiktionary.org/wiki/-artig -artig] * [http://pl.wiktionary.org/wiki/-arm -arm] * [http://pl.wiktionary.org/wiki/-fest -fest] * [http://pl.wiktionary.org/wiki/-frei -frei] * [http://pl.wiktionary.org/wiki/-haltig -haltig] * [http://pl.wiktionary.org/wiki/-los -los] * [http://pl.wiktionary.org/wiki/-mäßig -mäßig] * [http://pl.wiktionary.org/wiki/-reich -reich] * [http://pl.wiktionary.org/wiki/-werk -werk] {{Przypisy}} <!-- https://www.duden.de/sprachwissen/sprachratgeber/Die-Suffixe-los-und-weise --> 8lytdv4su5glm78zm5eak5zl0s60ksh Tuvalu 0 28540 543614 497473 2026-05-20T22:02:11Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu]] do [[Tuvalu]], bez pozostawienia przekierowania pod starym tytułem 404426 wikitext text/x-wiki {{wikipedia|Język tuvalu}} {{Status|-25%|Języki}} [[File:Flag of Tuvalu.svg|right|200px]] [[File:Coat of arms of Tuvalu.svg|right|200px]] Witaj! Strona, którą właśnie odwiedzasz, to internetowy podręcznik języka tuvalu. Język tuvalu to język używany w państwie Tuvalu położonym na Oceanie Spokojnym. Podręcznik ten jest jednym z nielicznych pozycji w internecie poświęconym temu językowi. == Spis treści == * [[Język tuvalu/O podręczniku|O podręczniku]] * [[Język tuvalu/Tuvalu|Informacje na temat państwa Tuvalu]] * [[Język tuvalu/Alfabet i wymowa|Alfabet i wymowa]] * [[Język tuvalu/Przedimki|Przedimki]] * [[Język tuvalu/Rzeczowniki|Rzeczowniki]] * [[Język tuvalu/Przymiotniki|Przymiotniki]] * [[Język tuvalu/Liczebniki|Liczebniki]] * [[Język tuvalu/Zaimki|Zaimki]] * [[Język tuvalu/Pytania|Pytania]] * [[Język tuvalu/Czasowniki|Czasowniki]] * [[Język tuvalu/Przysłówki|Przysłówki]] * [[Język tuvalu/Rozmówki|Rozmówki]] * [[Język tuvalu/Rodzina|Rodzina]] * [[Język tuvalu/Miesiące|Miesiące]] === Dodatki === * [[Język tuvalu/Wieża Babel|Fragment "Księgi Rodzaju" w języku tuvalu]] * [[Język tuvalu/Ojcze nasz|Fragment "Ewangelii Mateusza" w języku tuvalu]] oevxa6nrg6msc1fjoaoat0kexhvvlgf 543625 543614 2026-05-20T22:03:11Z Persino 2851 543625 wikitext text/x-wiki {{wikipedia|Język tuvalu}} {{Status|-25%|Języki}} [[File:Flag of Tuvalu.svg|right|200px]] [[File:Coat of arms of Tuvalu.svg|right|200px]] Witaj! Strona, którą właśnie odwiedzasz, to internetowy podręcznik języka tuvalu. Język tuvalu to język używany w państwie Tuvalu położonym na Oceanie Spokojnym. Podręcznik ten jest jednym z nielicznych pozycji w internecie poświęconym temu językowi. == Spis treści == * [[Tuvalu/O podręczniku|O podręczniku]] * [[Tuvalu/Tuvalu|Informacje na temat państwa Tuvalu]] * [[Tuvalu/Alfabet i wymowa|Alfabet i wymowa]] * [[Tuvalu/Przedimki|Przedimki]] * [[Tuvalu/Rzeczowniki|Rzeczowniki]] * [[Tuvalu/Przymiotniki|Przymiotniki]] * [[Tuvalu/Liczebniki|Liczebniki]] * [[Tuvalu/Zaimki|Zaimki]] * [[Tuvalu/Pytania|Pytania]] * [[Tuvalu/Czasowniki|Czasowniki]] * [[Tuvalu/Przysłówki|Przysłówki]] * [[Tuvalu/Rozmówki|Rozmówki]] * [[Tuvalu/Rodzina|Rodzina]] * [[Tuvalu/Miesiące|Miesiące]] === Dodatki === * [[Tuvalu/Wieża Babel|Fragment "Księgi Rodzaju" w języku tuvalu]] * [[Tuvalu/Ojcze nasz|Fragment "Ewangelii Mateusza" w języku tuvalu]] e7yq5t2emuo1p574ve2b032bkdi14ur Tuvalu/Alfabet i wymowa 0 28541 543615 204790 2026-05-20T22:02:12Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Alfabet i wymowa]] do [[Tuvalu/Alfabet i wymowa]], bez pozostawienia przekierowania pod starym tytułem 204790 wikitext text/x-wiki == Alfabet == Alfabet składa się z 16 liter: *samogłosek a, e, i, o, u *spółgłosek f, h, k, l, m, n, ng, p, s, t, v. Każda samogłoska ma długą i krótką wymowę i każda spółgłoska może mieszać się na taki sposób, by samogłoska mogła zmienić dźwięk. Każde słowo kończy się samogłoską o różnym dźwięku: *krótki dźwięk ''a'', np. mata (twarz) *długi dźwięk ''a'', np. fanau (potomstwo) *krótki dźwięk ''e'', np. pepe (motyl, ćma) *dług dźwięk ''e'' , np. pefea (jak) *krótki dźwięk ''i'' , np. titi (kobieca spódnica) *dług dźwięk ''i'' , np. sili (pytać) *krótki dźwięk ''o'' , np. popo (kopra) *dług dźwięk ''o'' , np. poo (noc) *krótki dźwięk ''u'' , np. tuku (dawać, kłaść) *dług dźwięk ''u'' , np. pula (lśnić) Jeżeli samogłoski występują obok siebie, wymawiamy je oddzielnie, np. taeao (jutro), które brzmi ta-eh-ah-o. <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Tuvalu|Tuvalu]]| [[Język tuvalu/Przedimki|Przedimki]]| }}</noinclude> 19ueu4a4elgo8qykxvp8mohrsg7vo5z 543626 543615 2026-05-20T22:04:35Z Persino 2851 543626 wikitext text/x-wiki == Alfabet == Alfabet składa się z 16 liter: *samogłosek a, e, i, o, u *spółgłosek f, h, k, l, m, n, ng, p, s, t, v. Każda samogłoska ma długą i krótką wymowę i każda spółgłoska może mieszać się na taki sposób, by samogłoska mogła zmienić dźwięk. Każde słowo kończy się samogłoską o różnym dźwięku: *krótki dźwięk ''a'', np. mata (twarz) *długi dźwięk ''a'', np. fanau (potomstwo) *krótki dźwięk ''e'', np. pepe (motyl, ćma) *dług dźwięk ''e'' , np. pefea (jak) *krótki dźwięk ''i'' , np. titi (kobieca spódnica) *dług dźwięk ''i'' , np. sili (pytać) *krótki dźwięk ''o'' , np. popo (kopra) *dług dźwięk ''o'' , np. poo (noc) *krótki dźwięk ''u'' , np. tuku (dawać, kłaść) *dług dźwięk ''u'' , np. pula (lśnić) Jeżeli samogłoski występują obok siebie, wymawiamy je oddzielnie, np. taeao (jutro), które brzmi ta-eh-ah-o. <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Tuvalu|Tuvalu]]| [[Tuvalu/Przedimki|Przedimki]]| }}</noinclude> 1bh50qsozglfoyu9qqqgmrss3j08wna Tuvalu/O podręczniku 0 28542 543618 218139 2026-05-20T22:02:13Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/O podręczniku]] do [[Tuvalu/O podręczniku]], bez pozostawienia przekierowania pod starym tytułem 218139 wikitext text/x-wiki == Źródła wykorzystane podczas pisania podręcznika == * [http://www.tuvaluislands.com/lang-tv.htm Tuvalu Language] tuvaluinslands.com * [http://www.omniglot.com/language/phrases/tuvaluan.php Useful phrases in Tuvaluan] onmiglot.com * [http://www.mpia.govt.nz/tuvalu-language-week/ Infografika] na mpia.govt.nz <noinclude> {{Nawigacja|Język tuvalu| | [[Język tuvalu/Tuvalu|Tuvalu]]| }}</noinclude> dssdux2n15vjvygh7xdlhlldisz9uzi 543629 543618 2026-05-20T22:06:41Z Persino 2851 543629 wikitext text/x-wiki == Źródła wykorzystane podczas pisania podręcznika == * [http://www.tuvaluislands.com/lang-tv.htm Tuvalu Language] tuvaluinslands.com * [http://www.omniglot.com/language/phrases/tuvaluan.php Useful phrases in Tuvaluan] onmiglot.com * [http://www.mpia.govt.nz/tuvalu-language-week/ Infografika] na mpia.govt.nz <noinclude> {{Nawigacja|Tuvalu| | [[Tuvalu/Tuvalu|Tuvalu]]| }}</noinclude> eibovmp38jtws0gr3yuhq0twbf1l24w Tuvalu/Przedimki 0 28543 543620 204792 2026-05-20T22:02:13Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Przedimki]] do [[Tuvalu/Przedimki]], bez pozostawienia przekierowania pod starym tytułem 204792 wikitext text/x-wiki W języku tuvalu występują następujące przedimki: *te, se, a (do liczby pojedynczej) *ni, ne, a (do liczby mnogiej) *Nie ma obowiązującej zasady co do ich stosowania. Zazwyczaj ''te'' i ''se'' jest przedimkiem określonym, stosowanym na tej samej zasadzie co angielskie ''the'', np. te ika (ryba). *''A'' jest stosowane także do osób, np. Tuku ki a Penain (Daj to Penaini). *''Ni'', ''ne'' to odpowiednik polskiego trochę, parę, niektórzy, np. E iai ni fale lelei i te fenua tela (Jest trochę ładnych domów na tej wyspie), Se ai ne lakau loa i konei (Nie ma żadnych patyków tutaj). *''A'' jest także odpowiednikiem angielskiego the, np. A tamaliki i kona ko foki i te taulekaleka (Dzieci są naprawdę piękne). <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Alfabet i wymowa|Alfabet i wymowa]]| [[Język tuvalu/Rzeczowniki|Rzeczowniki]]| }}</noinclude> gq7ipxoy01pn3ix2y59txyl9j472nk9 543631 543620 2026-05-20T22:08:17Z Persino 2851 543631 wikitext text/x-wiki W języku tuvalu występują następujące przedimki: *te, se, a (do liczby pojedynczej) *ni, ne, a (do liczby mnogiej) *Nie ma obowiązującej zasady co do ich stosowania. Zazwyczaj ''te'' i ''se'' jest przedimkiem określonym, stosowanym na tej samej zasadzie co angielskie ''the'', np. te ika (ryba). *''A'' jest stosowane także do osób, np. Tuku ki a Penain (Daj to Penaini). *''Ni'', ''ne'' to odpowiednik polskiego trochę, parę, niektórzy, np. E iai ni fale lelei i te fenua tela (Jest trochę ładnych domów na tej wyspie), Se ai ne lakau loa i konei (Nie ma żadnych patyków tutaj). *''A'' jest także odpowiednikiem angielskiego the, np. A tamaliki i kona ko foki i te taulekaleka (Dzieci są naprawdę piękne). <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Alfabet i wymowa|Alfabet i wymowa]]| [[Tuvalu/Rzeczowniki|Rzeczowniki]]| }}</noinclude> ezpq7tsc14yrzkmpx1gc41b4x82rnlf Tuvalu/Miesiące 0 28605 543617 205382 2026-05-20T22:02:12Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Miesiące]] do [[Tuvalu/Miesiące]], bez pozostawienia przekierowania pod starym tytułem 205382 wikitext text/x-wiki Miesiące w języku tuvalu pochodzą z języka angielskiego. *'''Ianuali''' – styczeń *'''Fepuali''' – luty *'''Mati''' – marzec *'''Apelila''' – kwiecień *'''Mee''' – maj *'''Iuni''' – czerwiec *'''Iulai''' – lipiec *'''Aokuso''' – sierpień *'''Setema''' – wrzesień *'''Oketopa''' – październik *'''Novema''' – listopad *'''Tesema''' – grudzień <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Rodzina|Rodzina]]| [[Język tuvalu/Wieża Babel|Wieża Babel]]| }}</noinclude> 8yll55si8p742p3nv31131dy6229ehg 543628 543617 2026-05-20T22:06:05Z Persino 2851 543628 wikitext text/x-wiki Miesiące w języku tuvalu pochodzą z języka angielskiego. *'''Ianuali''' – styczeń *'''Fepuali''' – luty *'''Mati''' – marzec *'''Apelila''' – kwiecień *'''Mee''' – maj *'''Iuni''' – czerwiec *'''Iulai''' – lipiec *'''Aokuso''' – sierpień *'''Setema''' – wrzesień *'''Oketopa''' – październik *'''Novema''' – listopad *'''Tesema''' – grudzień <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Rodzina|Rodzina]]| [[Tuvalu/Wieża Babel|Wieża Babel]]| }}</noinclude> 8a1a72g9ycucnquv2icfnkr5etvrapk Tuvalu/Rozmówki 0 28635 543622 205559 2026-05-20T22:02:13Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Rozmówki]] do [[Tuvalu/Rozmówki]], bez pozostawienia przekierowania pod starym tytułem 205559 wikitext text/x-wiki Podstawowe rozmówki w języku tuvalu: *'''Ulufale mai!''' – Witaj *'''Talofa''' – Cześć *'''Ko oi tou igoa?''' – Jak się nazywasz? *'''Toku igoa ko...''' – Nazywam się... *'''Ko oi tou fenua?''' – Skąd pochodzisz? *'''Toku fenua ko...''' – Pochodzę z... *'''Manuia te po!''' – Dobranoc *'''Tofa''' – Do widzenia *'''Manuia!''' – Powodzenia! *'''Manuia te aso!''' – Jaki miły dzień! *'''Au e malamalama''' – Rozumiem *'''E sē iloa nē au''' – Nie wiem *'''Au e sē malamalama.''' – Nie rozumiem *'''Fakamolemole, toe fakafoki aka au pati.''' – Proszę powtórzyć *'''Koe e faipati faka-'Pālagi?''' – Czy mówisz po angielsku? *'''Mālie fua''' – Trochę *'''Ao''' – Tak *'''Se''' – Nie *'''Tulou!''' – Przepraszam (podobne do angielskiego ''Excuse me'') *'''Fakamolemole, au kō 'sē!''' – Przepraszam (podobne do angielskiego '''I'm sorry''') *'''Fakamolemole!''' – Proszę *'''Fakafetai''' – Dziękuje *'''Au e fia fai ki a koe.''' – Kocham cię *'''Fesoasoani!''' – Pomocy! *'''Manuia te Kilisimasi mo te Tausaga Fou!''' – Szczęśliwych świąt Bożego Narodzenia <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Przysłówki|Przysłówki]]| [[Język tuvalu/Rodzina|Rodzina]]| }}</noinclude> rwmu156kkwm2ckf754qjf541tixa66l 543633 543622 2026-05-20T22:09:57Z Persino 2851 543633 wikitext text/x-wiki Podstawowe rozmówki w języku tuvalu: *'''Ulufale mai!''' – Witaj *'''Talofa''' – Cześć *'''Ko oi tou igoa?''' – Jak się nazywasz? *'''Toku igoa ko...''' – Nazywam się... *'''Ko oi tou fenua?''' – Skąd pochodzisz? *'''Toku fenua ko...''' – Pochodzę z... *'''Manuia te po!''' – Dobranoc *'''Tofa''' – Do widzenia *'''Manuia!''' – Powodzenia! *'''Manuia te aso!''' – Jaki miły dzień! *'''Au e malamalama''' – Rozumiem *'''E sē iloa nē au''' – Nie wiem *'''Au e sē malamalama.''' – Nie rozumiem *'''Fakamolemole, toe fakafoki aka au pati.''' – Proszę powtórzyć *'''Koe e faipati faka-'Pālagi?''' – Czy mówisz po angielsku? *'''Mālie fua''' – Trochę *'''Ao''' – Tak *'''Se''' – Nie *'''Tulou!''' – Przepraszam (podobne do angielskiego ''Excuse me'') *'''Fakamolemole, au kō 'sē!''' – Przepraszam (podobne do angielskiego '''I'm sorry''') *'''Fakamolemole!''' – Proszę *'''Fakafetai''' – Dziękuje *'''Au e fia fai ki a koe.''' – Kocham cię *'''Fesoasoani!''' – Pomocy! *'''Manuia te Kilisimasi mo te Tausaga Fou!''' – Szczęśliwych świąt Bożego Narodzenia <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Przysłówki|Przysłówki]]| [[Tuvalu/Rodzina|Rodzina]]| }}</noinclude> mcgf2h09aebgpie6quobu1e2099bem0 Tuvalu/Wieża Babel 0 28819 543624 207698 2026-05-20T22:02:14Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Wieża Babel]] do [[Tuvalu/Wieża Babel]], bez pozostawienia przekierowania pod starym tytułem 207698 wikitext text/x-wiki [[File:Pieter_Bruegel_the_Elder_-_The_Tower_of_Babel_(Vienna)_-_Google_Art_Project_-_edited.jpg|thumb|Wieża Babel]] Przedstawiony tutaj fragment pochodzi z [https://incubator.wikimedia.org/wiki/Wp/tvl/Kenese incubator.wikimedia.org]. Fragment ten jest historią Wieży Babel pochodzący z Księgi Rodzaju. Historia w języku polskim opisana w Biblii Wujka znajduje się [https://pl.wikisource.org/wiki/Biblia_Wujka/Ksi%C4%99ga_Rodzaju_11 tutaj]. # Muamua eiloa, a tino katoa i te lalolagi e fai'pati katoa ki te 'gana e tasi. # I olotou oloolo sālega i te saegālā, ne oko atu lātou ki se kogā laukele laugatasi i Pāpelonia, nofo tūmau ei lātou i konā. # Ne fai'pati ake lātou pēnei: “O'mai i tātou kā faite a puliki kae tao kē ma'keke.” Tēlā ne maua ei olotou puliki, e pēlā foki mo kōlotā e fakapiki tasi ei a puliki. # Ne fai ake lātou pēnei: “O'mai i tātou kā faite se fa'kai mo tena taoa kē oko ki te lagi, ko te mea kē takutakua tātou, kae kē sē salalau valevale tātou i te lalolagi.” # Tēnā ne fanaifo ei te Aliki o onoono ki te fa'kai mo te taoa tēlā ne faite nē tāgata konā, # kae fai aka mo ana muna pēnei: “Kiloke, a lātou se fenua e tasi kae fai'pati ki te 'gana e tasi; mea nei ko te kāmataga fua o te mea kā fai nē lātou. Kō pili nei kae kā mafai o fai nē lātou sō se mea e ma'nako lātou o fai! # Tātou kā olo ifo o faka'numi aka telotou 'gana ko te mea kē sē malamalama suā tino i pati a suā tino.” # Tēlā ne fakasalalau atu ei lātou nē te Aliki i te lalolagi, ko te mea eiloa kō gata te fāitega o te fa'kai. # Ne fakaigoa te fa'kai tēnā ko Pāpelu, mē ne faka'numi nē te Aliki i konā te 'gana a tino katoa, kae fakasalalau atu lātou ki koga kesekese o te lalolagi. <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Miesiące|Miesiące]]| }}</noinclude> a45cu7ehpnw6urp9ix7h20fzlj0158d 543635 543624 2026-05-20T22:12:58Z Persino 2851 543635 wikitext text/x-wiki [[File:Pieter_Bruegel_the_Elder_-_The_Tower_of_Babel_(Vienna)_-_Google_Art_Project_-_edited.jpg|thumb|Wieża Babel]] Przedstawiony tutaj fragment pochodzi z [https://incubator.wikimedia.org/wiki/Wp/tvl/Kenese incubator.wikimedia.org]. Fragment ten jest historią Wieży Babel pochodzący z Księgi Rodzaju. Historia w języku polskim opisana w Biblii Wujka znajduje się [https://pl.wikisource.org/wiki/Biblia_Wujka/Ksi%C4%99ga_Rodzaju_11 tutaj]. # Muamua eiloa, a tino katoa i te lalolagi e fai'pati katoa ki te 'gana e tasi. # I olotou oloolo sālega i te saegālā, ne oko atu lātou ki se kogā laukele laugatasi i Pāpelonia, nofo tūmau ei lātou i konā. # Ne fai'pati ake lātou pēnei: “O'mai i tātou kā faite a puliki kae tao kē ma'keke.” Tēlā ne maua ei olotou puliki, e pēlā foki mo kōlotā e fakapiki tasi ei a puliki. # Ne fai ake lātou pēnei: “O'mai i tātou kā faite se fa'kai mo tena taoa kē oko ki te lagi, ko te mea kē takutakua tātou, kae kē sē salalau valevale tātou i te lalolagi.” # Tēnā ne fanaifo ei te Aliki o onoono ki te fa'kai mo te taoa tēlā ne faite nē tāgata konā, # kae fai aka mo ana muna pēnei: “Kiloke, a lātou se fenua e tasi kae fai'pati ki te 'gana e tasi; mea nei ko te kāmataga fua o te mea kā fai nē lātou. Kō pili nei kae kā mafai o fai nē lātou sō se mea e ma'nako lātou o fai! # Tātou kā olo ifo o faka'numi aka telotou 'gana ko te mea kē sē malamalama suā tino i pati a suā tino.” # Tēlā ne fakasalalau atu ei lātou nē te Aliki i te lalolagi, ko te mea eiloa kō gata te fāitega o te fa'kai. # Ne fakaigoa te fa'kai tēnā ko Pāpelu, mē ne faka'numi nē te Aliki i konā te 'gana a tino katoa, kae fakasalalau atu lātou ki koga kesekese o te lalolagi. <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Miesiące|Miesiące]]| }}</noinclude> nfrmy7940lxca9qd4u9787fzca6dra4 Tuvalu/Tuvalu 0 28820 543623 207702 2026-05-20T22:02:14Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Tuvalu]] do [[Tuvalu/Tuvalu]], bez pozostawienia przekierowania pod starym tytułem 207702 wikitext text/x-wiki [[Plik:Tv-map.png|thumb|Mapa Tuvalu]] [[File:Tuvaluwoman1894.jpg|thumb|Kobieta z Tuvalu, 1894 rok]] '''Tuvalu to niewielki kraj położony na Oceanie Spokojnym zajmujący tylko 26 km² powierzchni. W jej skład wchodzi 9 atoli. Kraj ten uzyskał niepodległość w 1978 roku z rąk Wielkiej Brytanii. Do dzisiaj Tuvalu należy do Wspólnoty Narodów, a jej władcą jest królowa Elżbieta II. Tuvalu jest obok Watykanu, Monako i Nauru jednym z najmniejszych państw na świecie. Ze względu na podnoszenie się wód, istnieje zagrożenie zatopienia państwa w ciągu 40 lat (najwyższy punkt na wyspie sięga 5 metrów n.p.m. Stolicą kraju Vaiaku liczące 4700 mieszkańców. Tuvalu zamieszkuje 11500 mieszkańców.''' Tuvalu składa się z dziewięciu wysp: *Vaitupu, *Nanumea, *Nui, *Nanumanga, *Nukufetau, *Funafuti, *Niutao, *Nukulaelae, *Niulakita. Prawdopodobnie około 400 roku na wyspach należących obecnie do Tuvalu pojawili się Polinezyjczycy. Pierwszym Europejczykiem, który pojawił się na wyspach był Hiszpan Alvaro de Mendaña de Neyra w 1568 roku. Udało mu się dotrzeć do wysp Nui i Niulakita. W XIX wieku na wodach Tuvalu pojawiali się kupcy, wielorybnicy i handlarze niewolników. W 1892 roku Tuvalu stało się protektorem Anglii, przyjmując nazwę Wysp Lagunowych (Ellice). Kolonią brytyjską wyspy stały się w 1915 roku (wraz z Wyspami Gilberta, obecnie Kiribati). Podczas II wojny światowej na wyspach pojawili się Amerykanie, którzy wykorzystywali położenie wysp w związku z wojną z Japonią. Z tego okresu pochodzi jedyne lotnisko na wyspach. W 1978 roku Tuvalu uzyskało niepodległość. 4 lata wcześniej w wyniku referendum zdecydowano, by nie tworzyć jednego państwa z Wyspami Gilberta, a dwa oddzielne. W 2001 roku Tuvalu zwróciło się do Australii o pomoc w znalezieniu miejsca na ewentualne przeniesie mieszkańców. Co ciekawe, ''Tuvalu'' znaczy po polinezyjsku... 8 wysp. Prawdopodobnie odkrywcy (lub nadający nazwę wyspom) nie znał 9 wyspy. Tuvalu utrzymuje się z uprawy palmy kokosowej, bananów i kolokazji, rybołówstwa, emisji znaczków pocztowych i monet, szkutnictwa i turystyki. Poza krajem pracuje ponad 2 tys. obywateli Tuvalu. Większość z nich znalazła zatrudnienie przy wydobyciu fosforytów w Nauru. Państwo zarobiło trochę pieniędzy dzięki sprzedaży międzynarodowego skrótu swojej nazwy (.tv). <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/O podręczniku|O podręczniku]]| [[Język tuvalu/Alfabet i wymowa|Alfabet i wymowa]]| }}</noinclude> h5hibvjde4u60mt092e0z8waar1sfk7 543634 543623 2026-05-20T22:11:46Z Persino 2851 543634 wikitext text/x-wiki [[Plik:Tv-map.png|thumb|Mapa Tuvalu]] [[File:Tuvaluwoman1894.jpg|thumb|Kobieta z Tuvalu, 1894 rok]] '''Tuvalu to niewielki kraj położony na Oceanie Spokojnym zajmujący tylko 26 km² powierzchni. W jej skład wchodzi 9 atoli. Kraj ten uzyskał niepodległość w 1978 roku z rąk Wielkiej Brytanii. Do dzisiaj Tuvalu należy do Wspólnoty Narodów, a jej władcą jest królowa Elżbieta II. Tuvalu jest obok Watykanu, Monako i Nauru jednym z najmniejszych państw na świecie. Ze względu na podnoszenie się wód, istnieje zagrożenie zatopienia państwa w ciągu 40 lat (najwyższy punkt na wyspie sięga 5 metrów n.p.m. Stolicą kraju Vaiaku liczące 4700 mieszkańców. Tuvalu zamieszkuje 11500 mieszkańców.''' Tuvalu składa się z dziewięciu wysp: * Vaitupu, * Nanumea, * Nui, * Nanumanga, * Nukufetau, * Funafuti, * Niutao, * Nukulaelae, * Niulakita. Prawdopodobnie około 400 roku na wyspach należących obecnie do Tuvalu pojawili się Polinezyjczycy. Pierwszym Europejczykiem, który pojawił się na wyspach był Hiszpan Alvaro de Mendaña de Neyra w 1568 roku. Udało mu się dotrzeć do wysp Nui i Niulakita. W XIX wieku na wodach Tuvalu pojawiali się kupcy, wielorybnicy i handlarze niewolników. W 1892 roku Tuvalu stało się protektorem Anglii, przyjmując nazwę Wysp Lagunowych (Ellice). Kolonią brytyjską wyspy stały się w 1915 roku (wraz z Wyspami Gilberta, obecnie Kiribati). Podczas II wojny światowej na wyspach pojawili się Amerykanie, którzy wykorzystywali położenie wysp w związku z wojną z Japonią. Z tego okresu pochodzi jedyne lotnisko na wyspach. W 1978 roku Tuvalu uzyskało niepodległość. 4 lata wcześniej w wyniku referendum zdecydowano, by nie tworzyć jednego państwa z Wyspami Gilberta, a dwa oddzielne. W 2001 roku Tuvalu zwróciło się do Australii o pomoc w znalezieniu miejsca na ewentualne przeniesie mieszkańców. Co ciekawe, ''Tuvalu'' znaczy po polinezyjsku... 8 wysp. Prawdopodobnie odkrywcy (lub nadający nazwę wyspom) nie znał 9 wyspy. Tuvalu utrzymuje się z uprawy palmy kokosowej, bananów i kolokazji, rybołówstwa, emisji znaczków pocztowych i monet, szkutnictwa i turystyki. Poza krajem pracuje ponad 2 tys. obywateli Tuvalu. Większość z nich znalazła zatrudnienie przy wydobyciu fosforytów w Nauru. Państwo zarobiło trochę pieniędzy dzięki sprzedaży międzynarodowego skrótu swojej nazwy (.tv). <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/O podręczniku|O podręczniku]]| [[Tuvalu/Alfabet i wymowa|Alfabet i wymowa]]| }}</noinclude> tb50xy917s7sol64yco3qh0692ajogf Tuvalu/Rodzina 0 30695 543621 218135 2026-05-20T22:02:13Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Rodzina]] do [[Tuvalu/Rodzina]], bez pozostawienia przekierowania pod starym tytułem 218135 wikitext text/x-wiki *'''tamana''' – ojciec *'''matua''' – matka *'''taina''' – siostra *'''tuagane''' – brat *'''fakataina/fakatautuagaene''' – kuzyn *'''pepe''' – dziecko *'''tupuna''' – rodzic rodzica *'''tamaliki fafine''' – córka *'''tamaliki tagata''' – syn *'''mokopuna''' – wnuk *'''takumata''' – moje dziecko <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Rozmówki|Rozmówki]]| [[Język tuvalu/Miesiące|Miesiące]]| }}</noinclude> 5akcgsfpb3ok4ll8qoa5qbjhnx2yox4 543632 543621 2026-05-20T22:09:16Z Persino 2851 543632 wikitext text/x-wiki *'''tamana''' – ojciec *'''matua''' – matka *'''taina''' – siostra *'''tuagane''' – brat *'''fakataina/fakatautuagaene''' – kuzyn *'''pepe''' – dziecko *'''tupuna''' – rodzic rodzica *'''tamaliki fafine''' – córka *'''tamaliki tagata''' – syn *'''mokopuna''' – wnuk *'''takumata''' – moje dziecko <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Rozmówki|Rozmówki]]| [[Tuvalu/Miesiące|Miesiące]]| }}</noinclude> datb66117kjiut7tj0wmdy56irwwfi3 Tuvalu/Liczebniki 0 30696 543616 218136 2026-05-20T22:02:12Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Liczebniki]] do [[Tuvalu/Liczebniki]], bez pozostawienia przekierowania pod starym tytułem 218136 wikitext text/x-wiki *'''leai''' – zero *'''tasi''' – jeden *'''lua''' – dwa *'''tolu''' – trzy *'''fa''' – cztery *'''lima''' – pięć *'''ono''' – sześć *'''fitu''' – siedem *'''valu''' – osiem *'''iva''' – dziewięć *'''sefulu''' – dziesięć <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Przymiotniki|Przymiotniki]]| [[Język tuvalu/Zaimki|Zaimki]]| }}</noinclude> jxpjfyt08gunv8y1uwfm6alejkprnqu 543627 543616 2026-05-20T22:05:17Z Persino 2851 543627 wikitext text/x-wiki *'''leai''' – zero *'''tasi''' – jeden *'''lua''' – dwa *'''tolu''' – trzy *'''fa''' – cztery *'''lima''' – pięć *'''ono''' – sześć *'''fitu''' – siedem *'''valu''' – osiem *'''iva''' – dziewięć *'''sefulu''' – dziesięć <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Przymiotniki|Przymiotniki]]| [[Tuvalu/Zaimki|Zaimki]]| }}</noinclude> 6kmx5jyrlvhhr0ak7g9mobtjsmqgkk7 Tuvalu/Ojcze nasz 0 30949 543619 223041 2026-05-20T22:02:13Z Persino 2851 Persino przeniósł(-osła) stronę [[Język tuvalu/Ojcze nasz]] do [[Tuvalu/Ojcze nasz]], bez pozostawienia przekierowania pod starym tytułem 223041 wikitext text/x-wiki #Te motou Tamana telā i te lagi, ke tapu tou igoa. #Ke oko mai tou Malo. #Ke fai te mea e loto koe ki ei i te lalolagi nei e pelā mo te faiga i te lagi. #Tuku mai omotou meakai e ‵tau mō te aso nei, kae fakamagalo mai omotou agasala, e pelā mo matou e fakamagalo atu ki tino kolā e agasala mai ki a matou. #Kae sa takitakigina matou ki se tofotofoga, kae faka‵sao mai matou mai te tino masei. <noinclude> {{Nawigacja|Język tuvalu| [[Język tuvalu/Miesiące|Miesiące]]| }}</noinclude> 5199on4g852datqwsy89xjo0swo1oad 543630 543619 2026-05-20T22:07:25Z Persino 2851 543630 wikitext text/x-wiki #Te motou Tamana telā i te lagi, ke tapu tou igoa. #Ke oko mai tou Malo. #Ke fai te mea e loto koe ki ei i te lalolagi nei e pelā mo te faiga i te lagi. #Tuku mai omotou meakai e ‵tau mō te aso nei, kae fakamagalo mai omotou agasala, e pelā mo matou e fakamagalo atu ki tino kolā e agasala mai ki a matou. #Kae sa takitakigina matou ki se tofotofoga, kae faka‵sao mai matou mai te tino masei. <noinclude> {{Nawigacja|Tuvalu| [[Tuvalu/Miesiące|Miesiące]]| }}</noinclude> s2n5ivwfhpxg1iml80f819h6mbtckvu Moduł:Sprawdź 828 31189 543647 543224 2026-05-21T01:03:40Z Persino 2851 543647 Scribunto text/plain return { ["NazwaKategoriiSprawdzaniaParametrówSzablonu"]=function() return "Szablony z dodatkową opcją sprawdzania parametrów"; end; ["UsuńKategorięSprawdzaniaParametrówSzablonu"]=function(frame) local wikikod=frame.args[1]; local sprawdz_modul=require("Module:Sprawdź"); local kategoria_sprawdzania_parametrow=sprawdz_modul["NazwaKategoriiSprawdzaniaParametrówSzablonu"](); local specjalne_modul=require("Module:Specjalne"); return specjalne_modul["UsuńŚciśleOkreśloneKategorie"]{[1]=wikikod,[2]=kategoria_sprawdzania_parametrow,} end; ["Porównaj"] = function(frame) local pf=frame:getParent(); local config = pf.args[""] or "" local brudnopis=pf.args["brudnopis"]; local options = mw.text.split(config, "|") local templateName = mw.text.trim(options[1]) if #templateName == 0 then local title = mw.title.getCurrentTitle() if title.namespace == 10 then templateName = mw.ustring.match(title.text, "^(.-)/opis") or mw.ustring.match(title.text, "^(.-)/test") or mw.ustring.match(title.text, "^(.-)/brudnopis") or title.text end if #templateName == 0 then mw.log("brak nazwy szablonu") return end end local i = 2 local showparams = true local showinfo = true local vertical = false local brudnopis; while i <= #options do local parametr,wartosc=mw.ustring.match(options[i],"^([^%=]*)%=(.*)$") if(not parametr)then local option = mw.text.trim(options[i]) if option == "bez wikikodu" then showparams = false elseif option == "bez opisu" then showinfo = false elseif option == "pionowo" then vertical = true end else local parametr=mw.text.trim(parametr) if(parametr=="brudnopis")then brudnopis=mw.text.trim(wartosc); end; end i = i + 1 end; local templateTitle = mw.title.new(templateName, 10) if templateTitle.id == 0 then mw.log("szablon '"..templateName.."' nie istnieje") return end local sandboxName = brudnopis or (templateName.."/brudnopis") local sandboxTitle = mw.title.new(sandboxName, 10) if sandboxTitle.id == 0 then mw.log("brudnopis '"..sandboxName.."' nie istnieje") return end local templateParams = {} local params = {} for k, v in pairs(pf.args) do if (k ~= "") then templateParams[k] = v table.insert(params, k) end end local result = {} table.insert(result, '<table style="width: 100%;">') if showparams and (#params > 0) then local compare = function(a, b) -- return a < b if (type(a) == "number") and (type(b) == "number") then return a < b end if (type(a) == "string") and (type(b) == "string") then return a < b end if (type(a) == "number") and (type(b) == "string") then return true end return false end table.sort(params, compare) table.insert(result, "<caption><code>&#x7B;&#x7B;") table.insert(result, templateName) for i, k in ipairs(params) do table.insert(result, " &#x7C; ") local p = mw.text.nowiki(tostring(k)) local v = mw.text.nowiki(templateParams[k]) table.insert(result, p) table.insert(result, " = ") table.insert(result, v) end table.insert(result, "&#x7D;&#x7D;</code></caption>") end local templateResult = frame:expandTemplate{ title=templateName, args=templateParams} local sandboxResult = frame:expandTemplate{ title=sandboxName, args=templateParams} if templateResult and string.match(templateResult, "^{|") then templateResult = "\n"..templateResult end if sandboxResult and string.match(sandboxResult, "^{|") then sandboxResult = "\n"..sandboxResult end if vertical and showinfo then table.insert(result, '<tr><th style="width: 15em">[[Szablon:') table.insert(result, templateName) table.insert(result, '|Szablon]]</th><td>') table.insert(result, templateResult) table.insert(result, '</td></tr><tr><th>[[Szablon:') table.insert(result, sandboxName) table.insert(result, '|Brudnopis szablonu]]</th><td>') table.insert(result, sandboxResult) table.insert(result, '</td></tr>') elseif vertical then table.insert(result, '<tr><td>') table.insert(result, templateResult) table.insert(result, '</td></tr><tr><td>') table.insert(result, sandboxResult) table.insert(result, '</td></tr>') else if showinfo then table.insert(result, '<tr><th style="width: 50%;">[[Szablon:') table.insert(result, templateName) table.insert(result, '|Szablon]]</th><th style="width: 50%;">[[Szablon:') table.insert(result, sandboxName) table.insert(result, '|Brudnopis szablonu]]</th></tr>') end table.insert(result, '<tr style="vertical-align: top;"><td>') table.insert(result, templateResult) table.insert(result, '</td><td>') table.insert(result, sandboxResult) table.insert(result, '</td></tr>') end table.insert(result, "</table>") return table.concat(result) end, ["Parametry"] = function(frame) local pf=frame:getParent(); local unknown = {} local invalid = {} local deprecated = {} local nakedurl = {} local exturl = {} local files = {}; local templateName; local function argName(arg) local span = mw.html.create('span'); span:css('white-space','pre'); span:wikitext(arg); return type(arg) ~= "string" and tostring(arg) or ('"'..tostring(span:allDone())..'"'); end local ramka_modul=require("Module:Ramka"); local tabelka1=ramka_modul.RozpakujArgumenty(frame.args["bez argumentów szablonu"]); local tabelka2=ramka_modul.RozpakujArgumenty(pf.args["bez argumentów szablonu"]); local parametry_modul=require("Module:Parametry"); local tabelka_bez_argumentow=parametry_modul["ŁączDwieTabele"](tabelka1,tabelka2) local required = {}; local repeated = {}; local konieczne = {}; local empty = {}; local noempty = {}; local tabelka_argumentow_systemowych_funkcji={ ["nazwa przestrzeni nazw"]="", ["nazwa jednostki"]="txt", ["typ jednostki"]="txt", ["tytuł przestrzeni nazw"]="", ["tytuł jednostki"]="txt", ["rodzaj jednostki"]="txt", ["strona główna dla dzieci"]="txt", ["strona główna projektu"]="txt", ["usuń dodatkowe informacje"]="", ["usuń ostrzeżenie"]="", ["usuń linkowanie"]="", ["bez dodatkowych sprawdzeń"]="",--parametr systemowy szablonu do nieuruchamiania tej funkcji };--tabelka powyższa jest tabelką argumentów systemowych tej funkcji tego modułu local tabelka_argumentow_dodatkowych_funkcji={ ["bez argumentów szablonu"]="", --zawiera w sobie argumenty szablonu - oddzielone średnikem, których szablon nie może zawierać w wywołaniu ["dodaj parametry pudełka"]="", --dodaje parametry funkcji: Ogólne pudełko, modułu Pudełko }; local tabelka_argumentow_systemowych_szablonu={ ["bez kategorii"]="",--parametr systemowy szablonu, by kategorie się nie pojawiały ["nazwij jednostką"]="",--parametr systemowy funkcji mówiący, czy dowolną jednostkę nazwać po prostu jednostką };--tabelka powyższa jest tabelką argumentów systemowych szablonu wywołującego tę funkcję tego modułu local tabelka_parametrow_rodzica={}; local parametry_rodzica=parametry_modul.CzyTak(pf.args["potomek"])and pf.args["parametry rodzica"]; local szablonowe_modul=require("Module:Szablonowe"); if(parametry_rodzica)then tabelka_parametrow_rodzica=ramka_modul.RozpakujParametry(parametry_rodzica); templateName=pf.args["nazwa szablonu rodzica"] or szablonowe_modul.NazwaSzablonu(pf:getTitle()); else tabelka_parametrow_rodzica=pf.args; templateName=szablonowe_modul.NazwaSzablonu(pf:getTitle()); end; local czy_dodaj_parametry_pudelka=parametry_modul.CzyTak(frame.args["dodaj parametry pudełka"]); if(czy_dodaj_parametry_pudelka)then--dodaje parametry pudełka tabelka_argumentow_systemowych_szablonu["parametry pudełka"]=""; tabelka_argumentow_systemowych_szablonu["bez błędu"]=""; tabelka_argumentow_systemowych_szablonu["bez szczegółów"]=""; --dodaje parametry nienazwane i dla parametru: 1, którego ewentualną pierwszą nazwą jest: cel-- local maksimum=parametry_modul.MaksymalnaLiczbaParametruNienazwanegoTablicy(tabelka_parametrow_rodzica); for i=1,maksimum,1 do if(i>1)then tabelka_argumentow_systemowych_szablonu[i]="txt!"; else tabelka_argumentow_systemowych_szablonu[1]="txt!;cel"; end; end; tabelka_argumentow_systemowych_szablonu["cel"]="txt!;1" end; local tablica_mikroszablonow={ ["{{+}}"]=";", ["{{!+}}"]="^", ["{{+!}}"]="$", }; tabelka_bez_argumentow=parametry_modul["UsuńElementyTabeli"](tabelka_bez_argumentow,tabelka_argumentow_systemowych_funkcji); tabelka_bez_argumentow=parametry_modul["UsuńElementyTabeli"](tabelka_bez_argumentow,tabelka_argumentow_systemowych_szablonu); local zmienna_sprawdzania_parametrow=pf.args["zmienna sprawdzania parametrów"]; local zmienne_dodane={}; if(zmienna_sprawdzania_parametrow)then local tabelka_zmiennych=mw.text.split(zmienna_sprawdzania_parametrow,";;",false); for poz,war in ipairs(tabelka_zmiennych)do local zmienna,wartosc=mw.ustring.match(war,"^%s*(.+)%s*=%s*(.*)%s*$") if((zmienna)and(wartosc))then zmienna=mw.text.trim(zmienna); wartosc=mw.text.trim(wartosc); zmienne_dodane[tonumber(zmienna) or mw.ustring.gsub(zmienna,"{{[^{}]+}}",tablica_mikroszablonow)]=wartosc; end; end; end; local zmienne_konieczne=function(tab,czy_odjete) for k, v in pairs(tab)do if(czy_odjete or ((not tabelka_argumentow_systemowych_funkcji[k]) and (not tabelka_argumentow_systemowych_szablonu[k]) and (not tabelka_bez_argumentow[k]) ) )then local wydziel=mw.ustring.match(v,"^%s*(^.*$%s*%??%s*!?)%s*"); if wydziel and mw.ustring.match(wydziel, "!%s*$") then required[k] = true elseif mw.ustring.match(mw.ustring.match(v,"^([^;]*!?)%s*"), "!%s*$") then required[k] = true end end; end; end; zmienne_konieczne(frame.args,false); zmienne_konieczne(zmienne_dodane,true); zmienne_konieczne(tabelka_argumentow_systemowych_funkcji,true); zmienne_konieczne(tabelka_argumentow_systemowych_szablonu,true); local emptyArg = false local obslugiwane=function(k) local kind=(not tabelka_argumentow_dodatkowych_funkcji[k]) and ((not tabelka_bez_argumentow[k]) and (tabelka_argumentow_systemowych_funkcji[k] or tabelka_argumentow_systemowych_szablonu[k] or zmienne_dodane[k] or frame.args[k])); return kind; end; local tab={}; local function inne_elementy_konieczne(k) local element=tab[k] if(element)then for name2,wartosc in pairs(element)do if(name2~=k)then if((wartosc[1])and(not wartosc[2])and (not tabelka_parametrow_rodzica[name2]) and (obslugiwane(name2)))then return true; end; end; end; end; return false; end; local function tab_inne_elementy_konieczne(k) local element=tab[k] local tab_konieczne={}; if(element)then for name2,wartosc in pairs(element)do if(name2~=k)then if((wartosc[1])and(not wartosc[2])and (not tabelka_parametrow_rodzica[name2]) and (obslugiwane(name2)))then table.insert(tab_konieczne,argName(tonumber(name2) or name2)); end; end; end; end; return tab_konieczne; end; local function inne_elementy_nieobslugiwane(k) local element=tab[k] if(element)then for name2, wartosc in pairs(element)do if(name2~=k)then if(not wartosc[1])then if(not wartosc[2] and not wartosc[3])then if((obslugiwane(name2))and(tabelka_parametrow_rodzica[name2]) and(((wartosc[4])and (#tabelka_parametrow_rodzica[name2]>0) )or((not wartosc[4])and(#tabelka_parametrow_rodzica[name2]==0))) )then return true; else return false; end; elseif(not wartosc[2] and wartosc[3])then return true; elseif(wartosc[2] and not wartosc[3])then if((obslugiwane(name2))and(tabelka_parametrow_rodzica[name2])and(#tabelka_parametrow_rodzica[name2]==0))then return true; else return false; end; end; end; end; end; end; return false; end; local function tab_inne_elementy_z_mozliwymi_koniecznymi_niepustymi_wartosciami(k) local element=tab[k]; local tab_konieczne_puste={}; if(element)then for name2,wartosc in pairs(element)do if(name2~=k)then if((wartosc[4])and(not wartosc[2])and (not wartosc[3])and (tabelka_parametrow_rodzica[name2]) and(#tabelka_parametrow_rodzica[name2]==0) and (obslugiwane(name2)))then table.insert(tab_konieczne_puste,argName(tonumber(name2) or name2)); end; end; end; end; return tab_konieczne_puste; end; local function tab_inne_elementy_z_mozliwymi_koniecznymi_pustymi_wartosciami(k) local element=tab[k]; local tab_konieczne_puste={}; if(element)then for name2,wartosc in pairs(element)do if(name2~=k)then if((not wartosc[4])and(not wartosc[2])and (not wartosc[3])and (tabelka_parametrow_rodzica[name2]) and(#tabelka_parametrow_rodzica[name2]>0) and (obslugiwane(name2)))then table.insert(tab_konieczne_puste,argName(tonumber(name2) or name2)); end; end; end; end; return tab_konieczne_puste; end; local function inne_elementy_z_mozliwymi_koniecznymi_niepustymi_wartosciami(k) local element=tab[k]; local czy=false; if(element)then for name2, wartosc in pairs(element)do if(name2~=k)then if(wartosc[1])then if((wartosc[4])and(not wartosc[2])and(not wartosc[3]))then if((obslugiwane(name2))and((tabelka_parametrow_rodzica[name2])and(#tabelka_parametrow_rodzica[name2]==0)))then return true; end; end; end; end; end; end; return czy; end; local function inne_elementy_z_mozliwymi_koniecznymi_pustymi_wartosciami(k) local element=tab[k]; local czy=false; if(element)then for name2, wartosc in pairs(element)do if(name2~=k)then if(wartosc[1])then if((not wartosc[4])and(not wartosc[2])and(not wartosc[3]))then if((obslugiwane(name2))and((tabelka_parametrow_rodzica[name2])and(#tabelka_parametrow_rodzica[name2]>0)))then return true; end; end; end; end; end; end; return czy; end; local function inne_elementy_powtarzane_i_z_mozliwymi_dopuszczalnymi_pustymi_wartosciami(k) local element=tab[k]; local czy=true; if(element)then for name2, wartosc in pairs(element)do if(name2~=k)then if(wartosc[1])then if(wartosc[2])then if(not wartosc[3])then if((obslugiwane(name2))and(tabelka_parametrow_rodzica[name2]))then if(#tabelka_parametrow_rodzica[name2]==0)then return false; else return true; end; end; elseif((obslugiwane(name2))and(tabelka_parametrow_rodzica[name2]))then return true; end; end; end; end; end; end; return false; end; local strony_modul=require("Module:Strony"); local NumerPlik=function(k,v,zapytajnik,tryb) local czy_zapytajnik=(zapytajnik~="?"); local zero=(czy_zapytajnik and(#v==0)); if(zero)then table.insert(invalid, argName(k)); elseif((czy_zapytajnik)or((not czy_zapytajnik)and(#v~=0)))then local u=strony_modul.SprawdzanieRozmiaruPliku{rozmiar=v,tryb=tryb,}; if not u then table.insert(invalid,argName(k)) end; end; end; local GrafikaPlik=function(k,v,zapytajnik,przestrzen) local czy_zapytajnik=(zapytajnik~="?"); local zero=(czy_zapytajnik and(#v==0)); if(zero)then table.insert(invalid, argName(k)) elseif((czy_zapytajnik)or((not czy_zapytajnik)and(#v~=0)))then if strony_modul.ZnajdowanieNormalnychStronHttp(v) then table.insert(nakedurl, argName(k)) else local g = strony_modul.SprawdzanieNazwyPlikowe{nazwa = v, ["przestrzeń"]=przestrzen, }; if not g then table.insert(invalid, argName(k)) end end; end; end; for k, v in pairs(tabelka_parametrow_rodzica) do required[k] = false local kind=obslugiwane(k); local zapytajnik; local wykrzyknik; if (kind) then local kind2;local zmienne; kind2,zapytajnik,wykrzyknik,zmienne=mw.ustring.match(kind,"^%s*(!?^.*$)%s*(%??)%s*(!?)%s*;%s*(.-)%s*$"); if((not kind2)or(not zmienne)or (not zapytajnik))then kind2,zapytajnik,wykrzyknik,zmienne=mw.ustring.match(kind,"^%s*([^;]-)%s*(%??)%s*(!?)%s*;%s*(.-)%s*$"); end; if((kind2)and(zmienne))then local tab2=mw.text.split(mw.text.trim(zmienne),"%s*;%s*",false); tab[k]={}; for _,value in ipairs(tab2) do value=mw.text.trim(value); local indeks=tonumber(value) or mw.ustring.gsub(value,"{{[^{}]+}}",tablica_mikroszablonow); local indeks2,wykrzyknik=mw.ustring.match(tostring(indeks),"^%s*(.*)%s*(!!?)%s*$"); local indeks3,zapytajnik=mw.ustring.match(tostring(indeks2 or indeks),"^%s*(.*)%s*(%?)%s*$"); local inne,indeks4=mw.ustring.match(tostring(indeks3 or indeks2 or indeks),"^%s*(!)%s*(.*)%s*$"); tab[k][indeks4 or indeks3 or indeks2 or indeks]={((not inne) and true or false), ((not wykrzyknik) and true or false), ((not zapytajnik) and true or false), ((not (wykrzyknik=="!!")) and true or false), }; end; kind=mw.ustring.gsub(kind2,"{{[^{}]+}}",tablica_mikroszablonow); else kind2,zapytajnik,wykrzyknik=mw.ustring.match(kind,"^%s*(!?%s*^.*$)%s*(%??)%s*(!?)%s*$"); if(not kind2)or(not zapytajnik)then kind2,zapytajnik,wykrzyknik=mw.ustring.match(kind,"^%s*(.-)%s*(%??)%s*(!?)%s*$"); end; kind=mw.ustring.gsub(kind2,"{{[^{}]+}}",tablica_mikroszablonow); end; end; kind=kind and mw.text.trim(kind); if k == "" then emptyArg = v elseif not kind or inne_elementy_nieobslugiwane(k) then table.insert(unknown, argName(k)) elseif inne_elementy_powtarzane_i_z_mozliwymi_dopuszczalnymi_pustymi_wartosciami(k) then table.insert(repeated, argName(k)); elseif inne_elementy_z_mozliwymi_koniecznymi_niepustymi_wartosciami(k) then table.insert(empty, k); elseif inne_elementy_z_mozliwymi_koniecznymi_pustymi_wartosciami(k) then table.insert(noempty, k); elseif inne_elementy_konieczne(k) then table.insert(konieczne, k); elseif (kind == "num") then if(zapytajnik~="?")then local n = tonumber(v) if not n then table.insert(invalid, argName(k)) end else local n = (#v == 0) or tonumber(v) if not n then table.insert(invalid, argName(k)) end end; elseif (kind == "uri") then if(zapytajnik~="?")then local u = strony_modul.SprawdzanieURL(v) if not u then table.insert(invalid, argName(k)) end else local u = (#v == 0) or strony_modul.SprawdzanieURL(v) if not u then table.insert(invalid, argName(k)) end end; elseif(kind=="txt")then if(zapytajnik~="?")then if #v == 0 then table.insert(invalid, argName(k)) end; end; elseif (kind=="all")then local zero=((zapytajnik~="?")and(#v==0)); if(zero)then table.insert(invalid, argName(k)) else local u = strony_modul.SprawdzanieURL(v); if u then table.insert(nakedurl, argName(k)) else local u = strony_modul.ZnajdowanieNormalnychStronHttp(v); if(u)then table.insert(nakedurl, argName(k)) end; end; end; elseif(kind=="grafika")then GrafikaPlik(k,v,zapytajnik,false); elseif(kind=="grafika*")then GrafikaPlik(k,v,zapytajnik,true); elseif (kind == "text") then local zero=((zapytajnik~="?")and(#v==0)); if(zero)then table.insert(invalid, argName(k)) else local u= strony_modul.ZnajdowaniePlikowe(v); if(u)then table.insert(files, argName(k)) else local u = strony_modul.SprawdzanieURL(v); if u then table.insert(nakedurl, argName(k)) else local u = strony_modul.ZnajdowanieNormalnychStronHttp(v); if(u)then table.insert(nakedurl, argName(k)) else local u = strony_modul.ZnajdowanieJakikolwiekStronHttp(v) if(u)then table.insert(exturl, argName(k)) end; end; end; end; end; elseif(kind == "text-img")then local zero=((zapytajnik~="?")and(#v==0)); if(zero)then table.insert(invalid, argName(k)) else local u = strony_modul.SprawdzanieURL(v); if u then table.insert(nakedurl, argName(k)) else local u = strony_modul.ZnajdowanieNormalnychStronHttp(v); if(u)then table.insert(nakedurl, argName(k)) else local u = strony_modul.ZnajdowanieJakikolwiekStronHttp(v) if(u)then table.insert(exturl, argName(k)) end; end; end; end; elseif((kind == "text-link")or(kind == "tekst"))then local zero=((zapytajnik~="?")and(#v==0)); if(zero)then table.insert(invalid, argName(k)) else local u= strony_modul.ZnajdowaniePlikowe(v); if(u)then table.insert(files, argName(k)) else local u = strony_modul.SprawdzanieURL(v); if u then table.insert(nakedurl, argName(k)) else local u = strony_modul.ZnajdowanieNormalnychStronHttp(v); if(u)then table.insert(nakedurl, argName(k)) end; end; end; end; elseif (kind == "old") then table.insert(deprecated, argName(k)); elseif(kind == "uri*")then local zero=((zapytajnik~="?")and(#v==0)); if(zero)then table.insert(invalid, argName(k)) else local u = strony_modul.SprawdzanieURL(v) or strony_modul.SprawdzanieURL(mw.text.unstripNoWiki(v)) if not u then table.insert(invalid, argName(k)) end end; elseif(kind=="rozmiar")then NumerPlik(k,v,zapytajnik,false); elseif(kind=="rozmiar*")then NumerPlik(k,v,zapytajnik,true); elseif(kind~="")then local function regex(kind) local tab_pattern_wykrzyknik_lub_nie_wzorow={}; local pattern_poczatek=kind; local function funkcja_zbierajacy_dane_patternow(pattern_analiza_wzorow_koniunkcji) local tab_split_pattern_koniunkcji={}; local pattern_poczatek=pattern_analiza_wzorow_koniunkcji; repeat local pattern_poczatek_2,pattern_koniec=mw.ustring.match(pattern_poczatek,"^%s*(!?%s*^.-$)%s*&%s*(.*)%s*$"); if(pattern_poczatek_2 and pattern_koniec)then table.insert(tab_split_pattern_koniunkcji,pattern_poczatek_2); pattern_poczatek=pattern_koniec; else local pattern_caly=mw.ustring.match(pattern_poczatek,"^%s*(!?%s*^.-$)%s*$"); if pattern_caly then table.insert(tab_split_pattern_koniunkcji,pattern_caly); end; end; until not pattern_poczatek_2; local tab_pattern_wykrzyknik_lub_nie_wzorow_koniunkcji={}; for _,wartosc_elementu_koniunkcji in ipairs(tab_split_pattern_koniunkcji)do local wykrzyknik,pattern=mw.ustring.match(wartosc_elementu_koniunkcji,"^%s*(!?)%s*(^.-$)%s*$"); table.insert(tab_pattern_wykrzyknik_lub_nie_wzorow_koniunkcji,{[1]=pattern,[2]=wykrzyknik}); end; table.insert(tab_pattern_wykrzyknik_lub_nie_wzorow,tab_pattern_wykrzyknik_lub_nie_wzorow_koniunkcji); end; repeat local pattern_poczatek_2,pattern_koniec=mw.ustring.match(pattern_poczatek,"^%s*(!?%s*^.-$)%s*|%s*(.*)%s*$"); if pattern_poczatek_2 and pattern_koniec then funkcja_zbierajacy_dane_patternow(pattern_poczatek_2); pattern_poczatek=pattern_koniec; else local pattern_caly=mw.ustring.match(pattern_poczatek,"^%s*(!?%s*^.-$)%s*$"); if(pattern_caly)then funkcja_zbierajacy_dane_patternow(pattern_caly); end; break; end; until not pattern_poczatek_2; if(#tab_pattern_wykrzyknik_lub_nie_wzorow>0)then for _ , tab_pattern_koniunkcja in ipairs(tab_pattern_wykrzyknik_lub_nie_wzorow) do local czy=true; for _,tab_pattern_elementy_koniunkcji in ipairs(tab_pattern_koniunkcja)do local pattern=tab_pattern_elementy_koniunkcji[1]; local wykrzyknik_negujacy_pattern=(tab_pattern_elementy_koniunkcji[2]=="!"); if(pattern)then if((not wykrzyknik_negujacy_pattern and mw.ustring.match(v, pattern))or(wykrzyknik_negujacy_pattern and not mw.ustring.match(v, pattern)))then czy=czy and true; if(not czy)then break; end; else czy=false; break; end; end end; if(czy)then return true;end; end; return false; end; return nil; end; if((zapytajnik)and((zapytajnik=="")or((zapytajnik=="?")and(#v>0))))then local wynik=regex(kind); if((type(wynik)~="nil")and(not wynik))then table.insert(invalid, argName(k)); elseif (#v > 0) and strony_modul.SprawdzanieURL(v) then table.insert(nakedurl, argName(k)) elseif strony_modul.ZnajdowanieNormalnychStronHttp(v) then table.insert(nakedurl, argName(k)) end; end; end end; local missing = {} local function inny_element2(k) local element=tab[k] if(element)then for name2,wartosc in pairs(element)do if((wartosc[2])and(k~=name2))then if(tabelka_parametrow_rodzica[name2] and obslugiwane(name2))then return true; end; end; end; end; for name,value in pairs(tab)do for name2,wartosc in pairs(value)do if((wartosc[2])and(name2==k)and(name2~=name))then if((tabelka_parametrow_rodzica[name])and obslugiwane(name))then return true; end; end; end; end; return false; end; for k, v in pairs(required) do if v and not inny_element2(k) then table.insert(missing, argName(k)) end end local czy_not_category=parametry_modul.CzyTak(tabelka_parametrow_rodzica["bez kategorii"]); local function Szablon_z_sprawdz_parametry() if(czy_not_category)then return "";end; local nazwy_modul=require("Module:Nazwy"); local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(nazwy_modul["PEŁNANAZWASTRONY"]()); if(templateName==nazwa_szablonu)then local sprawdz_modul=require("Module:Sprawdź"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); return "[["..nazwy_np_modul.Category..":"..sprawdz_modul["NazwaKategoriiSprawdzaniaParametrówSzablonu"]().."|"..nazwy_modul["NAZWASTRONY"]().."]]"; end; return ""; end; local czy_missing=parametry_modul["CzySąElementyNumerowaneTablicy"](missing); local czy_konieczne=parametry_modul["CzySąElementyNumerowaneTablicy"](konieczne); local czy_unknown=parametry_modul["CzySąElementyNumerowaneTablicy"](unknown); local czy_invalid=parametry_modul["CzySąElementyNumerowaneTablicy"](invalid); local czy_deprecated=parametry_modul["CzySąElementyNumerowaneTablicy"](deprecated); local czy_repeated=parametry_modul["CzySąElementyNumerowaneTablicy"](repeated); local czy_empty=parametry_modul["CzySąElementyNumerowaneTablicy"](empty); local czy_noempty=parametry_modul["CzySąElementyNumerowaneTablicy"](noempty); local czy_files=parametry_modul["CzySąElementyNumerowaneTablicy"](files); local czy_nakedurl=parametry_modul["CzySąElementyNumerowaneTablicy"](nakedurl); local czy_exturl=parametry_modul["CzySąElementyNumerowaneTablicy"](exturl); if ((not czy_missing) and (not czy_konieczne) and (not czy_unknown) and (not czy_invalid) and (not czy_deprecated) and (not czy_repeated) and (not czy_empty) and (not czy_noempty) and (not czy_files) and (not czy_nakedurl) and (not czy_exturl) and (not emptyArg)) then return Szablon_z_sprawdz_parametry(); end local czy_informacje=not parametry_modul.CzyTak(tabelka_parametrow_rodzica["usuń dodatkowe informacje"]); local result; if(czy_informacje)then result=mw.html.create("span") result:addClass("problemy"); result:addClass("error"); result:css('white-space','pre-line'); result:css('font-size','unset'); end; local typ; local typ_jednostki; local czy_nazwij_jednostka=parametry_modul.CzyTak(tabelka_parametrow_rodzica["nazwij jednostką"]); ----[""]=?--- local config = frame.args[""] local class, space, category = string.match(config or "", "^%s*(%S+)(%s+)(.-)%s*$") local nl = space and string.match(space, "\n") or "" class = class or config ---- if(((czy_informacje)and(not czy_nazwij_jednostka))or((category)and((not czy_not_category)and(mw.ustring.match(category,"%%s.-%%s")))))then --local frame2=pf:newChild{args = {["obsługiwane jednostki jako nieopisowe strony"]="tak"}} local pudelko_modul=require("Module:Pudełko"); typ_jednostki=pudelko_modul["Typ jednostki 2"]{args={ ["obsługiwane jednostki jako nieopisowe strony"]="tak", ["nazwa przestrzeni nazw"]=pf and pf.args["tytuł przestrzeni nazw"] or frame.args["tytuł przestrzeni nazw"], ["nazwa jednostki"]=pf and pf.args["tytuł jednostki"] or frame.args["tytuł jednostki"], ["typ jednostki"]=pf and pf.args["rodzaj jednostki"] or frame.args["rodzaj jednostki"], },}; if(typ_jednostki=="artykuł")then typ="(artykuły)"; elseif(typ_jednostki=="artykuł dla dzieci")then typ="(artykuły dla dzieci)"; elseif(typ_jednostki=="strona użytkownika")then typ="(strony użytkowników)"; elseif(typ_jednostki=="strona brudnopisu projektu")then typ="(strony brudnopisu projektu)"; else typ="(strony niepodręcznikowe)"; end; else typ=nil; end; if(czy_informacje)then if(not czy_nazwij_jednostka)then if typ_jednostki=="artykuł" or typ_jednostki=="artykuł dla dzieci" or typ_jednostki=="strona użytkownika" or typ_jednostki=="strona brudnopisu projektu" then result:css("display", "none"); result:css("color","black"); else result:css("color", "red") end else result:css("color", "red") end; end; local czy_warning=not parametry_modul.CzyTak(tabelka_parametrow_rodzica["usuń ostrzeżenie"]); local message; if(czy_informacje or czy_warning)then message=mw.html.create() if emptyArg then message:wikitext("Podano parametr o nazwie pustej o wartosci: |=", emptyArg, "|.<br/>") end if czy_missing then message:wikitext("Brakujące pola, które powinny być koniecznie podane: ", mw.text.listToText(missing), ".<br/>") end if czy_konieczne then for _,_konieczne in ipairs(konieczne) do message:wikitext("Konieczne pola, które powinny być używane z innymi parametrami, dla "..argName(_konieczne)..": "..mw.text.listToText(tab_inne_elementy_konieczne(_konieczne))..".<br/>") end; end if czy_invalid then message:wikitext("O nieprawidłowej wartości pola: ", mw.text.listToText(invalid), ".<br/>") end if czy_unknown then message:wikitext("Nieznane pola używane przez szablon: ", mw.text.listToText(unknown), ".<br/>") end if czy_deprecated then message:wikitext("Przestarzałe pola, które są obsługiwane, ale których nie powinno się raczej używać: ", mw.text.listToText(deprecated), ".<br/>") end if czy_repeated then message:wikitext("Pola o odpowiedniej podanej wartości, które nie powinne być używane z innymi parametrami lub z tymi podanymi: ", mw.text.listToText(repeated), ".<br/>") end if czy_empty then for _,_empty in ipairs(empty) do message:wikitext("Dla pola "..argName(_empty).." wykryto wartości z pustymi polami: "..mw.text.listToText(tab_inne_elementy_z_mozliwymi_koniecznymi_niepustymi_wartosciami(_empty))..", które powinny być niepuste.<br/>") end; end if czy_noempty then for _,_noempty in ipairs(noempty) do message:wikitext("Dla pola "..argName(_noempty).." wykryto wartości z niepustymi polami: "..mw.text.listToText(tab_inne_elementy_z_mozliwymi_koniecznymi_pustymi_wartosciami(_noempty))..", które powinny być niepuste.<br/>") end; end if czy_files then for _,_files in ipairs(files) do message:wikitext("Dla pola "..argName(_files).." wykryto nieoczekiwaną grafikę: " .. mw.text.listToText(files) .. ".") end; end; if czy_nakedurl then for _,_nakedurl in ipairs(nakedurl) do message:wikitext("Dla pola "..argName(_nakedurl).." wykryto gołe linki: " .. mw.text.listToText(nakedurl) .. ".") end; end; if czy_exturl then for _,_exturl in ipairs(exturl) do message:wikitext("Dla pola "..argName(_exturl).." wykryto linki zewnętrzne: " .. mw.text.listToText(exturl) .. ".") end; end; end; local warning; if(czy_warning)then warning = mw.html.create('span'); warning:css('color','red'); warning:css('white-space','pre-line'); warning:css('word-break','break-all'); warning:addClass("problemy"); end; if(templateName)then mw.logObject(templateName, "templateName") local dwukropek=mw.ustring.match(templateName,"^%s*:"); local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](templateName); local wywolanie;local wywolanie2; local szablonowe_modul=require("Module:Szablonowe"); if dwukropek or nazwa_przestrzeni_strony~="" then wywolanie=szablonowe_modul["PokazanieWywołaniaSzablonu"](templateName,tabelka_parametrow_rodzica); wywolanie2="{{"..templateName.."}}"; if(parametry_modul.CzyTak(category))then templateName=mw.ustring.gsub(templateName,"^%s*:",""); if(not czy_not_category)then if(typ)then category=mw.ustring.format(category,templateName,typ); else category=mw.ustring.format(category,templateName); end; category=pf:preprocess(category); end; class=mw.ustring.format(class,mw.ustring.gsub(templateName,"%s+","-")); end; else wywolanie=szablonowe_modul["PokazanieWywołaniaSzablonu"](templateName,tabelka_parametrow_rodzica); wywolanie2="{{"..templateName.."}}"; if(parametry_modul.CzyTak(category))then local bez_pierwszej_litery=mw.ustring.match(templateName,"^.(.*)"); local czy_jest_wielka_litera=mw.ustring.match(bez_pierwszej_litery,"%u"); local szablon; if(not czy_jest_wielka_litera)then szablon=mw.getContentLanguage():lcfirst(templateName);else szablon=templateName;end; if(not czy_not_category)then if(typ)then category=mw.ustring.format(category,szablon,typ); else category=mw.ustring.format(category,szablon); end; category=pf:preprocess(category); end; class=mw.ustring.format(class,mw.ustring.gsub(szablon,"%s+","-")); end; end if(czy_warning)then local strong = mw.html.create('strong'); strong:wikitext("Wywołanie ") local span = mw.html.create('span'); span:css('font-weight','normal'); span:css('white-space','pre'); span:css('color',"brown"); span:wikitext(wywolanie); local strong2=mw.html.create('strong'); strong2:wikitext(" z wykrytymi parametrami z nieprawidłościami:<br/>"); warning:node(strong); warning:node(span); warning:node(strong2); end; if(czy_informacje)then local strong = mw.html.create('strong'); strong:wikitext("Szablon "..wywolanie2.." z wykrytymi parametrami z nieprawidłościami:<br/>"); result:node(strong); end; end; local czy_usun_linkowanie=parametry_modul.CzyTak(tabelka_parametrow_rodzica["usuń linkowanie"]); if(not czy_usun_linkowanie)then local _ = mw.title.new("Module:Sprawdź/Wywołanie funkcji/Parametry").id; end; if(czy_informacje or czy_warning)then message = tostring(message) end; if(czy_warning)then warning:wikitext(message); mw.addWarning(tostring(warning)); end; if czy_informacje and class then result:addClass(class) end if(czy_informacje)then result:wikitext(message);end; local str_category; if not czy_not_category and category then str_category=category; else str_category=""; end return nl..((czy_informacje)and tostring(result:allDone()) or "")..str_category..Szablon_z_sprawdz_parametry(); end, ["odn"] = function(frame) local pf = frame:getParent() local i = 1 local problems = false local yeardetected = false while true do local arg = pf.args[i] if not arg then problems = i == 1 and "brak argumentów" or false break end if (i > 5) or yeardetected then problems = "za dużo argumentów pozycyjnych" break end if #arg == 0 then problems = "pusty argument" break end if arg ~= mw.text.trim(arg) then problems = "nieoczekiwane odstępy na początku lub końcu argumentu" break end if string.match(arg, "^%d+%l?$") then yeardetected = true if i == 1 then problems = "rok musi być ostatnim parametrem po nazwiskach autorów" break end elseif string.match(arg, "^s[%-%.:]%s*%d+") then problems = "prawdopodobnie nieprawidłowo podany numer strony" break elseif string.match(arg, "%s%s") then problems = "podwójne odstępy" break elseif mw.ustring.match(arg, "^%a+%d") then if not mw.ustring.match(arg, "^[%u%d]+$") then problems = "prawdopodobnie sklejone argumenty (brak pionowej kreski)" break end elseif mw.ustring.match(arg, "^OdeB ") then -- [[Ordre de Bataille]] elseif mw.ustring.match(arg, "^%u%l+%u") then local justification = { ["De"] = true, ["Del"] = true, ["Di"] = true, ["Le"] = true, ["Mac"] = true, ["Mc"] = true, ["Te"] = true, -- TeSelle ["Sar"] = true, -- SarDesai ["Van"] = true, -- VanBuren ["La"] = true, -- LaSalle } if not justification[mw.ustring.match(arg, "^%u%l+")] then problems = "prawdopodobnie sklejone argumenty (brak pionowej kreski)" break end end i = i + 1 end if not problems then local odn = pf.args.odn if odn and ((#odn ~= 1) or (odn < "a") or (odn > "z")) then problems = "nieoczekiwany parametr odn" end end if not problems then local s = pf.args.s if s and string.match(s, "&[a-z]+;") then problems = "użyto encji HTML w numerze strony" end end if not problems then if pf.args.strona or pf.args.ss or pf.args.strony or pf.args.p or pf.args.page or pf.args.pp or pf.args.pages then problems = "przestarzały parametr z numerem strony" end end if not problems then return nil end local result = mw.html.create("span"):addClass("problemy-w-odn") local frame2=pf:newChild{args = {["obsługiwane jednostki jako nieopisowe strony"]="tak"}} local typ_jednostki=require("Module:Pudełko")["Typ jednostki 2"](frame2) if typ_jednostki=="artykuł" or typ_jednostki=="artykuł dla dzieci" or typ_jednostki=="strona użytkownika" or typ_jednostki=="strona brudnopisu projektu" then result:css("display", "none") else result:css("color", "red") end local typ; if(typ_jednostki=="artykuł")then typ="artykuły"; elseif(typ_jednostki=="artykuł dla dzieci")then typ="artykuły dla dzieci"; elseif(typ_jednostki=="strona użytkownika")then typ="strony użytkowników"; elseif(typ_jednostki=="strona brudnopisu projektu")then typ="strony brudnopisu projektu"; else typ="strony niepodręcznikowe"; end; local kategorie_modul=require("Module:Kategorie"); local str_kategoria=kategorie_modul.Kategoria{args={[1]="Szablon odn ("..typ..") do sprawdzenia"}}; result:wikitext(str_kategoria); result:wikitext("ODN: ", problems) return tostring(result) end, ["Wikidane"] = function(frame) local property = frame.args.cecha local field = frame.args.pole local value = frame.args[1] if not property or not field then return end if not value then value = frame:getParent().args[field] if not value or (#value == 0) then return end end local entity = mw.wikibase.getEntity() if not entity or not entity.claims or not entity.claims[property] then return end for i, v in ipairs(entity.claims[property]) do if v.mainsnak.snaktype == "value" then if value == v.mainsnak.datavalue.value then return end end end local template = frame:getParent():getTitle() local infobox = mw.ustring.match(template, "^Szablon:(.- infobox)$") return mw.ustring.format("[[Kategoria:%s – niezgodność w Wikidanych – %s – %s]]", infobox and "Infoboksy" or "Szablony", infobox or template, field) end, ["bez parametrów"] = function(frame) for k, v in pairs(frame:getParent().args) do return nil end return "tak" end, ["pole z hostem"] = function (frame) local host = frame.args.host if host and (#host > 0) then for k, v in pairs(frame:getParent().args) do local link = string.match(v, "[hH][tT][tT][pP][sS]?://[%S]+") if link then local uri = mw.uri.new(link) local valid, _ = mw.uri.validate(uri) if valid and uri.host and (#uri.host > 0) then if host == uri.host then mw.logObject({k, link}, "cały") return k end if #host < #uri.host then local s1 = '.'..host local s2 = string.sub(uri.host, -#s1) if s1 == s2 then mw.logObject({k, link}, "fragment") return k end end end end end end end, ["pola z autorami"] = function (frame) local result = {} local nazwisko = frame.args["nazwisko"] local imie = frame.args["imię"] local autor = frame.args["autor"] local link = frame.args["link"] local maxIndex = tonumber(frame.args["max"]) local prefix = frame.args["przed"] or "" local suffix = frame.args["po"] or "" for i = 1, maxIndex do local s = i == 1 and "" or tostring(i) local nin = string.gsub(nazwisko, '#', s) local iin = string.gsub(imie, '#', s) local ain = string.gsub(autor, '#', s) local lin = string.gsub(link, '#', s) local niv = frame:getParent().args[nin] local iiv = frame:getParent().args[iin] local aiv = frame:getParent().args[ain] local liv = frame:getParent().args[lin] local nis = niv and (#niv > 0) local iis = iiv and (#iiv > 0) local ais = aiv and (#aiv > 0) local lis = liv and (#liv > 0) local bad = (nis and ais) -- nazwisko -> zbędny autor or (nis and not iis) -- nazwisko bez imienia or (lis and not nis and not ais) -- tylko link or (iis and not nis) -- imię bez nazwiska if bad then table.insert(result, i) end end if #result > 0 then return prefix..mw.text.listToText(result)..suffix end end, ["pola z gołymi linkami"] = function (frame) local result = {} for k, v in pairs(frame:getParent().args) do local link = string.match(v, "^[hH][tT][tT][pP][sS]?://[%S]+") if link then local justified = frame.args[k] if not justified then mw.logObject(v,k) table.insert(result, '"'..k..'"') end end end return mw.text.listToText(result) end, ["uri"] = function(frame) mw.logObject(frame:getParent():getTitle(), "parent:title") _ = mw.title.new("Moduł:Sprawdź/deprecated/uri").id local link = frame.args["link"] local space = frame.args["spacja"] local strony_modul=require("Module:Strony"); local check = strony_modul.SprawdzanieURL(link) if check then return link end return (space and (check ~= nil)) and link or "" end, ["url"] = function(frame) local link = frame.args[1] local okText = frame.args[2] or "ok" local isValid = string.find(link, '{{{') == 1 or checkUri(link) if isValid then return okText end return "" end, ["lista nazw niepustych argumentów"] = function(frame) local argNames = {} for k, v in pairs(frame:getParent().args) do if #mw.text.trim(v) > 0 then table.insert(argNames, tostring(k)) end end return table.concat(argNames, ", ") end, } ji2drwilqujdpgwmwlo3zqor2g03a8t Szablon:Szablony stronicowe 10 33925 543665 516800 2026-05-21T05:27:21Z Persino 2851 543665 wikitext text/x-wiki {{Szablon nawigacyjny | nazwa = Szablony stronicowe | tytuł = Szablony stronicowe | zwijanie = rozwinięte | szerokość = 78ex | margines = 5px 0 5px 5px | opis1 = Wzory | spis1 = * {{s|Wzór}} * {{s|Wzór2}} * {{s|CentrujWzór}} * {{s|CentrujWzór2}} | opis2 = MathML | spis2 = * {{s|MathMLWzór}} * {{s|MathMLWzór2}} * {{s|CentrujMathMLWzór}} * {{s|CentrujMathMLWzór2}} | opis3 = Grafika | spis3 = * {{s|Rysunek}} | opis4 = Punkty | spis4 = * {{s|ZobaczTeż}} * {{s|Patrz}} | opis5 = Ważne | spis5 = * {{s|LinkWzór}} * {{s|LinkRysunek}} * {{s|LinkZobaczTeż}} * {{s|LinkPatrz}} | opis6 = Ogólne | spis6 = {{Szablon nawigacyjny z kolumnami|podgrupa | opis1 = Szablon linków | spis1 = {{Szablon nawigacyjny podgrupa | opis1 = Linki | spis1 = * {{s|LinkObiekt}} }} | opis2 = Szablon wypowiedzenia | spis2 = {{Szablon nawigacyjny podgrupa | opis1 = Wypowiedzenie | spis1 = * {{s|Wypowiedzenie}} }} | kategoria = nie }} | opis7 = Szczególne | spis7 = {{Szablon nawigacyjny z kolumnami|podgrupa | dół = Szablony okienek i do ich uchwytów specjalistyczne linki | opis1 = Linki | spis1 = {{Szablon nawigacyjny podgrupa | opis1 = Twierdzenie | spis1 = * {{s|LinkTwierdzenie}} | opis2 = Hipotezy | spis2 = * {{s|LinkHipoteza}} | opis3 = Lemat | spis3 = * {{s|LinkLemat}} | opis4 = Kryterium | spis4 = * {{s|LinkKryterium}} | opis5 = Dowód | spis5 = * {{s|LinkDowód}} | opis6 = Postulat | spis6 = * {{s|LinkPostulat}} | opis7 = Postulaty | spis7 = * {{s|LinkPostulaty}} | opis8 = Definicje | spis8 = * {{s|LinkOkreślenie}} | opis9 = Zadanie | spis9 = * {{s|LinkZadanie}} | opis10= Ćwiczenia | spis10 = * {{s|LinkPraktyka}} | opis11 = Procedura | spis11 = * {{s|LinkProcedura}} | opis12 = Schemat | spis12 = * {{s|LinkSchemat}} }} | opis2 = Wypowiedzenia | spis2 = {{Szablon nawigacyjny podgrupa | opis1 = Twierdzenie | spis1 = * {{s|Twierdzenie}} | opis2 = Hipoteza | spis2 = * {{s|Hipoteza}} | opis3 = Lemat | spis3 = * {{s|Lemat}} | opis4 = Kryterium | spis4 = * {{s|Kryterium}} | opis5 = Dowód | spis5 = * {{s|Dowód}} | opis6 = Postulat | spis6 = * {{s|Postulat}} | opis7 = Postulaty | spis7 = * {{s|Postulaty}} | opis8 = Definicja | spis8 = * {{s|Określenie}} | opis9 = Zadanie | spis9 = * {{s|Zadanie}} | opis10 = Ćwiczenie | spis10 = * {{s|Praktyka}} | opis11 = Procedura | spis11 = * {{s|Procedura}} | opis12 = Schemat | spis12 = * {{s|Schemat}} }} | kategoria = nie }} | opis8 = L-Nagłówki | spis8 = * {{s|Śródtytuł}} * {{s|LinkŚródtytuł}} * {{s|LinkŚródtytułTutaj}} | opis9 = L-Tekst | spis9 = * {{s|ŚródTekst}} * {{s|LinkŚródTekst}} | opis10 = Wykazy | spis10 = * {{s|ListaNagłówkówKsiążki}} | opis11 = W tekście | spis11 = * {{s|Formuła}} * {{s|MathMLFormuła}} | opis12 = Pomiędzy | spis12 = * {{s|Tekst}} | opis13 = Nagłówki | spis13 = * {{s|HNumer}} * {{s|StronaTytułowa}} | opis14 = Autonawigacja | spis14 = * {{s|Autonawigacja}} * {{s|NawigacjaSpecjalna}} * {{s|Układ autonawigacji}} | opis15 = Spis treści | spis15 = * {{s|SpisTreści}} (spis rozdziałów artykułu) * {{s|TOC}} * {{s|TOCRamka}} * {{s|TOC limit}} * {{s|Spis treści}} * {{s|Spis treści zwinięty}} | opis16 = Nawigacja | spis16 = * {{s|AktualnaKsiążka}} * {{s|NastępnyArtykuł}} * {{s|PoprzedniArtykuł}} * {{s|NazwaAktualnyArtykuł}} | opis17 = L-Nawigacja | spis17 = * {{s|LinkAktualnaKsiążka}} * {{s|LinkNastępnyArtykuł}} * {{s|LinkPoprzedniArtykuł}} * {{s|LinkNastępnySubArtykuł}} * {{s|LinkPoprzedniSubArtykuł}} | opis18 = Artykuły | spis18 = * {{s|PierwszyArtykuł}} * {{s|OstatniArtykuł}} * {{s|PomiędzyArtykuł}} * {{s|LosowyArtykuł}} | opis19 = Numerowanie | spis19 = * {{s|PobierzNazwęNagłówka}} * {{s|PobierzNumerNagłówka}} * {{s|PobierzNazwęArtykułu}} * {{s|PobierzNumerArtykułu}} | opis20 = Linie | spis20 = * {{s|LiniaArtykułuKsiążki}} | opis21 = Nazwy | spis21 = * {{s|NazwaLinkuArtykułu}} * {{s|LiczbaArtykułówKsiążki}} * {{s|PoziomNazwyArtykułu}} * {{s|SubNazwaNadArtykułu}} * {{s|NazwaNadArtykułu}} * {{s|LinkNazwaNadArtykułu}} * {{s|LinkSubNazwaNadArtykułu}} | opis22 = N-Nagłówki | spis22 = * {{s|LosowyNagłówek}} * {{s|PomiędzyNagłówek}} * {{s|PierwszyNagłówek}} * {{s|OstatniNagłówek}} * {{s|LiczbaNagłówkówSpisu}} | opis23 = Autorskie | spis23 = * {{s|Licencja}} | opis24 = Zawartości | spis24 = * {{s|StronaSubst}} * {{s|KsiążkaSubst}} * {{s|ArtykułSubst}} | opis25 = Linki | spis25 = * {{s|Sekcja referencyjna}} (spis artykułów) * {{s|StopkaSpisTreści}} | opis26 = Książkowe | spis26 = * {{s|Wolumin}} * {{s|SortWolumin}} * {{s|SortKuchWolumin}} * {{s|LinkWolumin}} * {{s|StronaWolumin}} * {{s|T}} * {{s|T2}} * {{s|Q}} * {{s|N}} * {{s|A}} * {{s|Status}} * {{s|Kompletność}} * {{s|Kompletność junior}} * {{s|Książka}} | opis27 = Indeksowanie | spis27 = * {{s|Kotwica}} * {{s|Indeksuj}} | opis28 = Spis artykułów | spis28 = * {{s|Link wewnętrzny}} * {{s|LinkOgólne}} * {{s|LinkGłówna}} * {{s|LinkWikijunior}} * {{s|LinkWikijunior2}} * {{s|LinkUżytkownik}} * {{s|LinkUżytkownik2}} * {{s|LinkProjekt}} * {{s|LinkProjekt2}} | kategoria = Wikibooks }} nyolle0r6tvud4xeurm1a2t6w7z1o3s 543670 543665 2026-05-21T05:39:51Z Persino 2851 543670 wikitext text/x-wiki {{Szablon nawigacyjny | nazwa = Szablony stronicowe | tytuł = Szablony stronicowe | zwijanie = rozwinięte | szerokość = 78ex | margines = 5px 0 5px 5px | opis1 = Wzory | spis1 = * {{s|Wzór}} * {{s|Wzór2}} * {{s|CentrujWzór}} * {{s|CentrujWzór2}} | opis2 = MathML | spis2 = * {{s|MathMLWzór}} * {{s|MathMLWzór2}} * {{s|CentrujMathMLWzór}} * {{s|CentrujMathMLWzór2}} | opis3 = Grafika | spis3 = * {{s|Rysunek}} | opis4 = Punkty | spis4 = * {{s|ZobaczTeż}} * {{s|Patrz}} | opis5 = Ważne | spis5 = * {{s|LinkWzór}} * {{s|LinkRysunek}} * {{s|LinkZobaczTeż}} * {{s|LinkPatrz}} | opis6 = Ogólne | spis6 = {{Szablon nawigacyjny z kolumnami|podgrupa | opis1 = Szablon linków | spis1 = {{Szablon nawigacyjny podgrupa | opis1 = Linki | spis1 = * {{s|LinkObiekt}} }} | opis2 = Szablon wypowiedzenia | spis2 = {{Szablon nawigacyjny podgrupa | opis1 = Wypowiedzenie | spis1 = * {{s|Wypowiedzenie}} }} | kategoria = nie }} | opis7 = Szczególne | spis7 = {{Szablon nawigacyjny z kolumnami|podgrupa | dół = Szablony okienek i do ich uchwytów specjalistyczne linki | opis1 = Linki | spis1 = {{Szablon nawigacyjny podgrupa | opis1 = Twierdzenie | spis1 = * {{s|LinkTwierdzenie}} | opis2 = Hipotezy | spis2 = * {{s|LinkHipoteza}} | opis3 = Lemat | spis3 = * {{s|LinkLemat}} | opis4 = Kryterium | spis4 = * {{s|LinkKryterium}} | opis5 = Dowód | spis5 = * {{s|LinkDowód}} | opis6 = Postulat | spis6 = * {{s|LinkPostulat}} | opis7 = Postulaty | spis7 = * {{s|LinkPostulaty}} | opis8 = Definicje | spis8 = * {{s|LinkOkreślenie}} | opis9 = Zadanie | spis9 = * {{s|LinkZadanie}} | opis10= Ćwiczenia | spis10 = * {{s|LinkPraktyka}} | opis11 = Procedura | spis11 = * {{s|LinkProcedura}} | opis12 = Schemat | spis12 = * {{s|LinkSchemat}} }} | opis2 = Wypowiedzenia | spis2 = {{Szablon nawigacyjny podgrupa | opis1 = Twierdzenie | spis1 = * {{s|Twierdzenie}} | opis2 = Hipoteza | spis2 = * {{s|Hipoteza}} | opis3 = Lemat | spis3 = * {{s|Lemat}} | opis4 = Kryterium | spis4 = * {{s|Kryterium}} | opis5 = Dowód | spis5 = * {{s|Dowód}} | opis6 = Postulat | spis6 = * {{s|Postulat}} | opis7 = Postulaty | spis7 = * {{s|Postulaty}} | opis8 = Definicja | spis8 = * {{s|Określenie}} | opis9 = Zadanie | spis9 = * {{s|Zadanie}} | opis10 = Ćwiczenie | spis10 = * {{s|Praktyka}} | opis11 = Procedura | spis11 = * {{s|Procedura}} | opis12 = Schemat | spis12 = * {{s|Schemat}} }} | kategoria = nie }} | opis8 = L-Nagłówki | spis8 = * {{s|Śródtytuł}} * {{s|LinkŚródtytuł}} * {{s|LinkŚródtytułTutaj}} | opis9 = L-Tekst | spis9 = * {{s|ŚródTekst}} * {{s|PobierzŚródTekst}} | opis10 = Wykazy | spis10 = * {{s|ListaNagłówkówKsiążki}} | opis11 = W tekście | spis11 = * {{s|Formuła}} * {{s|MathMLFormuła}} | opis12 = Pomiędzy | spis12 = * {{s|Tekst}} | opis13 = Nagłówki | spis13 = * {{s|HNumer}} * {{s|StronaTytułowa}} | opis14 = Autonawigacja | spis14 = * {{s|Autonawigacja}} * {{s|NawigacjaSpecjalna}} * {{s|Układ autonawigacji}} | opis15 = Spis treści | spis15 = * {{s|SpisTreści}} (spis rozdziałów artykułu) * {{s|TOC}} * {{s|TOCRamka}} * {{s|TOC limit}} * {{s|Spis treści}} * {{s|Spis treści zwinięty}} | opis16 = Nawigacja | spis16 = * {{s|AktualnaKsiążka}} * {{s|NastępnyArtykuł}} * {{s|PoprzedniArtykuł}} * {{s|NazwaAktualnyArtykuł}} | opis17 = L-Nawigacja | spis17 = * {{s|LinkAktualnaKsiążka}} * {{s|LinkNastępnyArtykuł}} * {{s|LinkPoprzedniArtykuł}} * {{s|LinkNastępnySubArtykuł}} * {{s|LinkPoprzedniSubArtykuł}} | opis18 = Artykuły | spis18 = * {{s|PierwszyArtykuł}} * {{s|OstatniArtykuł}} * {{s|PomiędzyArtykuł}} * {{s|LosowyArtykuł}} | opis19 = Numerowanie | spis19 = * {{s|PobierzNazwęNagłówka}} * {{s|PobierzNumerNagłówka}} * {{s|PobierzNazwęArtykułu}} * {{s|PobierzNumerArtykułu}} | opis20 = Linie | spis20 = * {{s|LiniaArtykułuKsiążki}} | opis21 = Nazwy | spis21 = * {{s|NazwaLinkuArtykułu}} * {{s|LiczbaArtykułówKsiążki}} * {{s|PoziomNazwyArtykułu}} * {{s|SubNazwaNadArtykułu}} * {{s|NazwaNadArtykułu}} * {{s|LinkNazwaNadArtykułu}} * {{s|LinkSubNazwaNadArtykułu}} | opis22 = N-Nagłówki | spis22 = * {{s|LosowyNagłówek}} * {{s|PomiędzyNagłówek}} * {{s|PierwszyNagłówek}} * {{s|OstatniNagłówek}} * {{s|LiczbaNagłówkówSpisu}} | opis23 = Autorskie | spis23 = * {{s|Licencja}} | opis24 = Zawartości | spis24 = * {{s|StronaSubst}} * {{s|KsiążkaSubst}} * {{s|ArtykułSubst}} | opis25 = Linki | spis25 = * {{s|Sekcja referencyjna}} (spis artykułów) * {{s|StopkaSpisTreści}} | opis26 = Książkowe | spis26 = * {{s|Wolumin}} * {{s|SortWolumin}} * {{s|SortKuchWolumin}} * {{s|LinkWolumin}} * {{s|StronaWolumin}} * {{s|T}} * {{s|T2}} * {{s|Q}} * {{s|N}} * {{s|A}} * {{s|Status}} * {{s|Kompletność}} * {{s|Kompletność junior}} * {{s|Książka}} | opis27 = Indeksowanie | spis27 = * {{s|Kotwica}} * {{s|Indeksuj}} | opis28 = Spis artykułów | spis28 = * {{s|Link wewnętrzny}} * {{s|LinkOgólne}} * {{s|LinkGłówna}} * {{s|LinkWikijunior}} * {{s|LinkWikijunior2}} * {{s|LinkUżytkownik}} * {{s|LinkUżytkownik2}} * {{s|LinkProjekt}} * {{s|LinkProjekt2}} | kategoria = Wikibooks }} onjgj5uaotwc9v1tlgqrrgvnf17rrke 543683 543670 2026-05-21T06:14:35Z Persino 2851 543683 wikitext text/x-wiki {{Szablon nawigacyjny | nazwa = Szablony stronicowe | tytuł = Szablony stronicowe | zwijanie = rozwinięte | szerokość = 78ex | margines = 5px 0 5px 5px | opis1 = Wzory | spis1 = * {{s|Wzór}} * {{s|Wzór2}} * {{s|CentrujWzór}} * {{s|CentrujWzór2}} | opis2 = MathML | spis2 = * {{s|MathMLWzór}} * {{s|MathMLWzór2}} * {{s|CentrujMathMLWzór}} * {{s|CentrujMathMLWzór2}} | opis3 = Grafika | spis3 = * {{s|Rysunek}} | opis4 = Punkty | spis4 = * {{s|ZobaczTeż}} * {{s|Patrz}} | opis5 = Ważne | spis5 = * {{s|LinkWzór}} * {{s|LinkRysunek}} * {{s|LinkZobaczTeż}} * {{s|LinkPatrz}} | opis6 = Ogólne | spis6 = {{Szablon nawigacyjny z kolumnami|podgrupa | opis1 = Szablon linków | spis1 = {{Szablon nawigacyjny podgrupa | opis1 = Linki | spis1 = * {{s|LinkObiekt}} }} | opis2 = Szablon wypowiedzenia | spis2 = {{Szablon nawigacyjny podgrupa | opis1 = Wypowiedzenie | spis1 = * {{s|Wypowiedzenie}} }} | kategoria = nie }} | opis7 = Szczególne | spis7 = {{Szablon nawigacyjny z kolumnami|podgrupa | dół = Szablony okienek i do ich uchwytów specjalistyczne linki | opis1 = Linki | spis1 = {{Szablon nawigacyjny podgrupa | opis1 = Twierdzenie | spis1 = * {{s|LinkTwierdzenie}} | opis2 = Hipotezy | spis2 = * {{s|LinkHipoteza}} | opis3 = Lemat | spis3 = * {{s|LinkLemat}} | opis4 = Kryterium | spis4 = * {{s|LinkKryterium}} | opis5 = Dowód | spis5 = * {{s|LinkDowód}} | opis6 = Postulat | spis6 = * {{s|LinkPostulat}} | opis7 = Postulaty | spis7 = * {{s|LinkPostulaty}} | opis8 = Definicje | spis8 = * {{s|LinkOkreślenie}} | opis9 = Zadanie | spis9 = * {{s|LinkZadanie}} | opis10= Ćwiczenia | spis10 = * {{s|LinkPraktyka}} | opis11 = Procedura | spis11 = * {{s|LinkProcedura}} | opis12 = Schemat | spis12 = * {{s|LinkSchemat}} }} | opis2 = Wypowiedzenia | spis2 = {{Szablon nawigacyjny podgrupa | opis1 = Twierdzenie | spis1 = * {{s|Twierdzenie}} | opis2 = Hipoteza | spis2 = * {{s|Hipoteza}} | opis3 = Lemat | spis3 = * {{s|Lemat}} | opis4 = Kryterium | spis4 = * {{s|Kryterium}} | opis5 = Dowód | spis5 = * {{s|Dowód}} | opis6 = Postulat | spis6 = * {{s|Postulat}} | opis7 = Postulaty | spis7 = * {{s|Postulaty}} | opis8 = Definicja | spis8 = * {{s|Określenie}} | opis9 = Zadanie | spis9 = * {{s|Zadanie}} | opis10 = Ćwiczenie | spis10 = * {{s|Praktyka}} | opis11 = Procedura | spis11 = * {{s|Procedura}} | opis12 = Schemat | spis12 = * {{s|Schemat}} }} | kategoria = nie }} | opis8 = L-Nagłówki | spis8 = * {{s|Śródtytuł}} * {{s|LinkŚródtytuł}} * {{s|LinkŚródtytułTutaj}} | opis9 = L-Tekst | spis9 = * {{s|ŚródTekst}} * {{s|LinkŚródTekst}} | opis10 = Wykazy | spis10 = * {{s|ListaNagłówkówKsiążki}} | opis11 = W tekście | spis11 = * {{s|Formuła}} * {{s|MathMLFormuła}} | opis12 = Pomiędzy | spis12 = * {{s|Tekst}} | opis13 = Nagłówki | spis13 = * {{s|HNumer}} * {{s|StronaTytułowa}} | opis14 = Autonawigacja | spis14 = * {{s|Autonawigacja}} * {{s|NawigacjaSpecjalna}} * {{s|Układ autonawigacji}} | opis15 = Spis treści | spis15 = * {{s|SpisTreści}} (spis rozdziałów artykułu) * {{s|TOC}} * {{s|TOCRamka}} * {{s|TOC limit}} * {{s|Spis treści}} * {{s|Spis treści zwinięty}} | opis16 = Nawigacja | spis16 = * {{s|AktualnaKsiążka}} * {{s|NastępnyArtykuł}} * {{s|PoprzedniArtykuł}} * {{s|NazwaAktualnyArtykuł}} | opis17 = L-Nawigacja | spis17 = * {{s|LinkAktualnaKsiążka}} * {{s|LinkNastępnyArtykuł}} * {{s|LinkPoprzedniArtykuł}} * {{s|LinkNastępnySubArtykuł}} * {{s|LinkPoprzedniSubArtykuł}} | opis18 = Artykuły | spis18 = * {{s|PierwszyArtykuł}} * {{s|OstatniArtykuł}} * {{s|PomiędzyArtykuł}} * {{s|LosowyArtykuł}} | opis19 = Numerowanie | spis19 = * {{s|PobierzNazwęNagłówka}} * {{s|PobierzNumerNagłówka}} * {{s|PobierzNazwęArtykułu}} * {{s|PobierzNumerArtykułu}} | opis20 = Linie | spis20 = * {{s|LiniaArtykułuKsiążki}} | opis21 = Nazwy | spis21 = * {{s|NazwaLinkuArtykułu}} * {{s|LiczbaArtykułówKsiążki}} * {{s|PoziomNazwyArtykułu}} * {{s|SubNazwaNadArtykułu}} * {{s|NazwaNadArtykułu}} * {{s|LinkNazwaNadArtykułu}} * {{s|LinkSubNazwaNadArtykułu}} | opis22 = N-Nagłówki | spis22 = * {{s|LosowyNagłówek}} * {{s|PomiędzyNagłówek}} * {{s|PierwszyNagłówek}} * {{s|OstatniNagłówek}} * {{s|LiczbaNagłówkówSpisu}} | opis23 = Autorskie | spis23 = * {{s|Licencja}} | opis24 = Zawartości | spis24 = * {{s|StronaSubst}} * {{s|KsiążkaSubst}} * {{s|ArtykułSubst}} | opis25 = Linki | spis25 = * {{s|Sekcja referencyjna}} (spis artykułów) * {{s|StopkaSpisTreści}} | opis26 = Książkowe | spis26 = * {{s|Wolumin}} * {{s|SortWolumin}} * {{s|SortKuchWolumin}} * {{s|LinkWolumin}} * {{s|StronaWolumin}} * {{s|T}} * {{s|T2}} * {{s|Q}} * {{s|N}} * {{s|A}} * {{s|Status}} * {{s|Kompletność}} * {{s|Kompletność junior}} * {{s|Książka}} | opis27 = Indeksowanie | spis27 = * {{s|Kotwica}} * {{s|Indeksuj}} | opis28 = Spis artykułów | spis28 = * {{s|Link wewnętrzny}} * {{s|LinkOgólne}} * {{s|LinkGłówna}} * {{s|LinkWikijunior}} * {{s|LinkWikijunior2}} * {{s|LinkUżytkownik}} * {{s|LinkUżytkownik2}} * {{s|LinkProjekt}} * {{s|LinkProjekt2}} | kategoria = Wikibooks }} nyolle0r6tvud4xeurm1a2t6w7z1o3s Moduł:StronicowyParser/obiekty 828 45007 543661 542177 2026-05-21T04:52:30Z Persino 2851 543661 Scribunto text/plain local p={}; local m={}; p.wypowiedzi={ {"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",}, {"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",}, {"Lemat", nil,nil,"Lematu",2,"lematami","lematów",}, {"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",}, {"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",}, {"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",}, {"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",}, {"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",}, {"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",}, {"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",}, {"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",}, {"Schemat",nil,nil,"Schematu",2,"schematami","schematów",}, }; p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",}; p.normalne={ {"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",}, {"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",}, {"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",}, {"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",}, }; p.napisy_wprowadzenia_tekstu={ {"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",}, }; p.tekst={ {"ŚródTekst",nil,nil,"Śródtekstu",2,"tekstami","tekstów",}, }; p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł"; m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane) local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i) if(type(linki_naglowka)=="table")then for _,wartosc in ipairs(linki_naglowka)do i=i+1; t[i]=wartosc; end; else i=i+1; t[i]=linki_naglowka; end; return t,i; end; local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]={}; local t=s[wartosc[1]]; local i=1; t[i]="Link"..wartosc[1]; t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i); end; return s; end; m.LinkiSzablonyNapisuWprowadzeniaTekstu=function() return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu) end; m.LinkiSzablonyTekstu=function() return m.LinkiSzablonyNieNumerowane(p.tekst) end; m.NienumerowaneSzablony=function(tab_szablony_nienumerowane) local s={}; for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do s[wartosc[1]]=true; end; return s; end; m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function() return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu); end; m.NienumerowaneSzablonyTekstu=function() return m.NienumerowaneSzablony(p.tekst); end; p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.linki_szablony_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.uklad_autonawigacji="Układ autonawigacji"; p.bez_uchwytow_spis_rzeczy_strony={ ["TOC"]=true, ["TOCRamka"]=true, }; p.szablony_z_lokalnym_spisem_rzeczy_strony={ ["TOC limit"]=true, ["Spis treści"]=true, ["TOCright"]=true, ["Spis treści zwinięty"]=true, }; p.szablony_kontenerowe={ ["Sekcja referencyjna"]=true, ["Sr"]=true, ---------------------------------- ["ListaNagłówkówKsiążki"]=true, ["LiniaArtykułuKsiążki"]=true, ---------------------------------- ["PomiędzyNagłówek"]=true, ["LosowyNagłówek"]=true, ["PierwszyNagłówek"]=true, ["OstatniNagłówek"]=true, ["LiczbaNagłówkówSpisu"]=true, ---------------------------------- ["AktualnaKsiążka"]=true, ["NastępnyArtykuł"]=true, ["PoprzedniArtykuł"]=true, ["NazwaAktualnyArtykuł"]=true, ["LinkAktualnaKsiążka"]=true, ["LinkNastępnyArtykuł"]=true, ["LinkPoprzedniArtykuł"]=true, ---------------------------------- ["LinkNastępnySubArtykuł"]=true, ["LinkPoprzedniSubArtykuł"]=true, ---------------------------------- ["PierwszyArtykuł"]=true, ["OstatniArtykuł"]=true, ["PomiędzyArtykuł"]=true, ["LosowyArtykuł"]=true, ["PobierzNazwęArtykułu"]=true, ["PobierzNumerArtykułu"]=true, ["NazwaLinkuArtykułu"]=true, -------------------------------- ["PobierzNazwęNagłówka"]=true, ["PobierzNumerNagłówka"]=true, --------------------------------- ["LiczbaArtykułówKsiążki"]=true, ["PoziomNazwyArtykułu"]=true, --------------------------------- ["SubNazwaNadArtykułu"]=true, ["NazwaNadArtykułu"]=true, ["LinkNazwaNadArtykułu"]=true, ["LinkSubNazwaNadArtykułu"]=true, ----------------------------------- ["Autonawigacja"]=true, }; p.szablony_stronicowe_niekontenerowe={ ["ArtykułSubst"]=true, }; p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={ ["Formuła"]=1; }; ----szablony stronicowego parsera function m.SzablonyStronicowegoParsera() local t={}; t.szablony_kontenerowe={}; local s=t.szablony_kontenerowe; t.szablony_wprowadzenia_tekstu={}; local r=t.szablony_wprowadzenia_tekstu; t.szablony_tekstu={}; local q=t.szablony_tekstu; local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r) for _,szablony_naglowka in ipairs(naglowki) do r[szablony_naglowka[1]]=true; if(szablony_naglowka[2])then if(type(szablony_naglowka[2])=="table")then for _,wartosc in ipairs(szablony_naglowka[2])do r[wartosc]=true; end; else r[szablony_naglowka[2]]=true; end; end; end; end; SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r); SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q); local function TabNumer(n,obiekty_szablon,s) if(obiekty_szablon[n])then if(type(obiekty_szablon[n])=="table")then for _,wartosc in ipairs(obiekty_szablon[n])do s[wartosc]=true; end; else s[obiekty_szablon[n]]=true; end; end; end; local function RozpatrywanaTablica(tab_obiekty,s) for _,obiekty_szablon in ipairs(tab_obiekty)do s[obiekty_szablon[1]]=true; s["Link"..obiekty_szablon[1]]=true; TabNumer(2,obiekty_szablon,s); TabNumer(3,obiekty_szablon,s); end; end; RozpatrywanaTablica(p.normalne,s); RozpatrywanaTablica(p.wypowiedzi,s); RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s); RozpatrywanaTablica(p.tekst,s); TabNumer(2,p.obiekty,s); TabNumer(3,p.obiekty,s); local function IndeksowaneNaTak(tab_obiekty,s) for indeks,_ in pairs(tab_obiekty)do s[indeks]=true; end; end; IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s); IndeksowaneNaTak(p.szablony_kontenerowe,s); return t; end; p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera(); ----koniec szablony pudełka ----Tablica obiektów function m.TablicaObiektowychForm() local s={};local r={}; for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.tekst)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end; p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s; p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r; s[#s+1]=p.obiekty; return s; end; ---- m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function() local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],}; local tab_szablony=tab_obiektow[2]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]={tab_obiektow[1],tab_obiektow[5],}; end; else s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],}; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami(); m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function() local function Obiekty(s,linkobiekty) for _,tab_obiektow in ipairs(linkobiekty)do s["Link"..tab_obiektow[1]]=tab_obiektow[1]; local tab_szablony=tab_obiektow[3]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]=tab_obiektow[1]; end; else s[tab_szablony]=tab_obiektow[1]; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami(); m.FormatElementowyObiektowy=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_obiektowy=m.FormatElementowyObiektowy(); m.FormatElementowyReferencjiObiektowych=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]); s[element]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych(); ---- ---- p.tablica_obiektowych_form=m.TablicaObiektowychForm(); p.szablony_stron_zbiorczych={ ["KsiążkaSubst"]=true, ["StronaSubst"]=true, }; p.inne_szablony_stron_zbiorczych={ ["Sekcja referencyjna"]=true, ["Sr"]=true, } m.StronyZbiorcze=function() local s={}; local function Ziorcze(tab) for name,_ in pairs(tab)do s[name]=true; end; end; Ziorcze(p.szablony_stron_zbiorczych); Ziorcze(p.inne_szablony_stron_zbiorczych); return s; end; p.strona_zbiorcza=m.StronyZbiorcze(); p.strona_start_inne={ ["StandardowaStronaStart"]=true, ["PodstawowaStronaStart"]=true, ["ProstaStronaStart"]=true, }; p.strona_start={ ["StronaStart"]=true, }; p.strona_start_ze_spisem_rzeczy_strony={ ["UnikatowaStronaStart"]=true, ["UnikalnaStronaStart"]=true, ["SkomplikowanaStronaStart"]=true, }; p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={ ["SkomplikowanaStronaStart"]=true, }; m.SzablonyFormartowaniaTekstu=function() local s={}; local function DodatDoTablicy(tab) for name,_ in pairs(tab)do s[name]=true; local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec"); s[name_koniec]=true; end; end; DodatDoTablicy(p.strona_start); DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony); DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony); DodatDoTablicy(p.strona_start_inne); return s; end; p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu(); p.tablica_nazw_ramek_lua={ "StronicowyParser", }; ----Koniec tablica obiektów p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, --[[["dedykacja"]=true,]] }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spistreści"]=true, ["spistresci"]=true, ["spisrzeczy"]=true, }; --[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={ ["bibliografia"]=true, ["literatura"]=true, };]] p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={ [1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", [2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={ [1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,}, [2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,}, }; p.artykularne_niespisowe={ [1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$", --[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$", }; p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={ ["Kolumny"]=2, }; p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; p.szablony_z_dodatkiem_obiektowym={ ["ISBN"]="ISBN $(1)"; }; p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; p.szablony_do_usuwania_z_tekstu={ --- szablony książkowe umieszczane na stronie głównej podręcznika ["Kolekcja"]=true, ["TODO"]=true, ["Wersja do druku"]=true, --- szablony typowo linkowe ["Dane tekstu"]=true, --- szablony linkowania do innych projektow ["MediaWiki"]=true, ["Wikipedia"]=true, ["Wikipedia kat"]=true, ["Wikipedia2"]=true, ["Commons"]=true, ["Commons ilustr kat"]=true, ["Commonsall"]=true, ["Commonscat"]=true, ["Wikiatlas"]=true, ["Wikicytaty"]=true, ["Wikicytaty przysłowia"]=true, ["Inkubator"]=true, ["Meta"]=true, ["Wikinews"]=true, ["Wikinewscat"]=true, ["Wikinewsy"]=true, ["Portal Wikinews"]=true, ["Wikisłownik"]=true, ["Wikisłownik-cat"]=true, ["Wikimedia"]=true, ["Multiwmpl"]=true, ["Wikipodróże"]=true, ["Wikispecies"]=true, ["Multisource"]=true, ["Wikiźródła"]=true, ["Wikiźródła autor"]=true, ["Wikiźródła kat"]=true, ["Wikiźródła kuch kat"]=true, ["Wikiźródła krótki"]=true, ["Wikisource-lang"]=true, }; p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["LinkOgólne"]=true, ["Lo"]=true, --[[["LinkGłówna"]=true, ["LinkWikijunior"]=true, ["LinkWikijunior2"]=true, ["LinkProjekt"]=true, ["LinkProjekt2"]=true, ["LinkUżytkownik"]=true, ["LinkUżytkownik2"]=true,]] }; p.kody_szablony_linkowe_przestrzenne={ ["Główna"]={"",}, ["Wikijunior"]={"Wikijunior",}, ["Kategoria"]={"Category",}, ["Plik"]={"File",}, ["Projekt"]={"Project",}, ["Szablon"]={"Template",}, ["Użytkownik"]={"User",}, ["Pomoc"]={"Help",}, ["Moduł"]={"Module",}, ["Komunikat"]={"MediaWiki",}, ["Specjalna"]={"Special",}, ["Wikiprojekt"]={"Wikiproject","w",}, ["Portal"]={"Portal","w",}, ["Extension"]={"Extension","mw",}, }; p.kody_inne_szablony_linkowe_inteligentne={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.kody_szablony_linkowe_projektowe={ ["Pedia"]="w", ["Źródła"]="s", ["Cytaty"]="q", ["News"]="n", ["Słownik"]="wikt", ["Podróże"]="voy", ["Wersytet"]="betawikiversity", ["Species"]="wikispecies", ["Commons"]="commons", ["Dane"]="d", ["MediaWiki"]="mw", ["MetaWiki"]="m", }; p.kody_szablony_linkowe_dialektu={ ["En"]="en", }; p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; p.szablony_w_nie_w_tej_samej_linii={ ["SpisPozycja"]=true, ["SpisZw"]=true, ["SpisTreści"]=true, }; p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; p.szablony_wprowadzenia_napisu_spisu_rzeczy={ ["Ce"]=1, ["Centruj"]=1, ["Center"]=1, }; p.szablony_dokumentacji={ ["Dokumentacja"]=true, }; p.szablony_wykorzystywane_przez_strony_zbiorcze={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.szablony_licencji={ ["Licencja"]=true, }; p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; p.szablony_bez_generowania_napisowego={ ["Status"]=true, }; p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={ ["Rozdział"]=true, ["Podrozdział"]=true, ["MapaObrazu"]=true, }; p.strony_main_page_projektu={ ["Wikijunior:Strona główna"]=true, ["Wikibooks:Strona główna"]=true, ["Strona główna"]=true, ["Main Page"]=true, } p.szablony_nie_typowo_linkowe={ ["Plik"]=true, ["Kategoria"]=true, ["Kategorie"]=true, ["Wolumin"]=true, }; p.szablony_przypisowe={ ["Przypisy"]=true, ["Uwagi"]=true, ["Przypisy-lista"]=true, }; p.napisy_wprowadzenia_tekstu_przypisowych={ ["Przypisy"]=true, ["Uwagi"]=true, ["Bibliografia"]=true, ["Licencja"]=true, }; p.magiczne_derektywy={ ["TOC"]=true, ["NOTOC"]=true, ["NOEDITSECTION"]=true, } p.znaczniki_szablonowe={ ["Znacznik"]=1, ["Div"]=1, ["Code"]=1, ["Tt"]=1, ["P"]=1, ["Sub"]=1, ["Sup"]=1, ["Span"]=1, ["Bdo"]=1, ["Small"]=1, ["Big"]=1, ["Strong"]=1, }; p.szablony_indeksowania={ ["Kotwica"] =true, ["Indeksuj"]=true, }; p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={ ["g"]="Główna", ["c"]="Specjalna", ["k"]="Kategoria", ["l"]="Plik", ["m"]="Komunukat", ["d"]="Moduł", ["p"]="Pomoc", ["r"]="Projekt", ["s"]="Szablon", ["j"]="Wikijunior", ["ż"]="Użytkownik", ["e"]="Extension", ["x"]="Property", ["w"]="Wikiprojekt", ["t"]="Portal", }; p.nazwy_projektowe_serwisy_linkowe_inteligentne={ ["p"]="Pedia", ["l"]="EnPedia", ["s"]="Słownik", ["t"]="Cytaty", ["ź"]="Źródła", ["d"]="Podróże", ["g"]="Species", ["z"]="News", ["r"]="Wersytet", ["w"]="Wikia", ["c"]="Commons", ["n"]="Dane", ["k"]="MediaWiki", ["m"]="MetaWiki", ["b"]="En", }; p.przekierowania_szablonowe_linkowe_inteligentne_inne={ ["Lz"]="LinkURL", ["Lb"]="LinkWB", ["Sr"]="Sekcja referencyjna", }; p.nazwy_szablonowe_kolidacja={ ["Ltr"]=true, }; p.litery_przestrzeni_kolidacja={ ["ř"]="r", }; p.znaczniki_wprowadzenia_tekstu={ ["h1"]=1, ["h2"]=2, ["h3"]=3, ["h4"]=4, ["h5"]=5, ["h6"]=6, }; p.szablony_sztucznego_wprowadzenia_tekstu={ ["HNumer"]=1, }; p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={ ["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},}; }; return p; nv4coar46md8qj7k3yii5sbesge1d06 543675 543661 2026-05-21T05:50:39Z Persino 2851 543675 Scribunto text/plain local p={}; local m={}; p.wypowiedzi={ {"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",}, {"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",}, {"Lemat", nil,nil,"Lematu",2,"lematami","lematów",}, {"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",}, {"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",}, {"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",}, {"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",}, {"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",}, {"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",}, {"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",}, {"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",}, {"Schemat",nil,nil,"Schematu",2,"schematami","schematów",}, }; p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",}; p.normalne={ {"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",}, {"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",}, {"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",}, {"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",}, }; p.napisy_wprowadzenia_tekstu={ {"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",}, }; p.tekst={ {"ŚródTekst",nil,nil,"ŚródTekstu",2,"tekstami","tekstów",}, }; p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł"; m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane) local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i) if(type(linki_naglowka)=="table")then for _,wartosc in ipairs(linki_naglowka)do i=i+1; t[i]=wartosc; end; else i=i+1; t[i]=linki_naglowka; end; return t,i; end; local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]={}; local t=s[wartosc[1]]; local i=1; t[i]="Link"..wartosc[1]; t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i); end; return s; end; m.LinkiSzablonyNapisuWprowadzeniaTekstu=function() return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu) end; m.LinkiSzablonyTekstu=function() return m.LinkiSzablonyNieNumerowane(p.tekst) end; m.NienumerowaneSzablony=function(tab_szablony_nienumerowane) local s={}; for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do s[wartosc[1]]=true; end; return s; end; m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function() return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu); end; m.NienumerowaneSzablonyTekstu=function() return m.NienumerowaneSzablony(p.tekst); end; p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.linki_szablony_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.uklad_autonawigacji="Układ autonawigacji"; p.bez_uchwytow_spis_rzeczy_strony={ ["TOC"]=true, ["TOCRamka"]=true, }; p.szablony_z_lokalnym_spisem_rzeczy_strony={ ["TOC limit"]=true, ["Spis treści"]=true, ["TOCright"]=true, ["Spis treści zwinięty"]=true, }; p.szablony_kontenerowe={ ["Sekcja referencyjna"]=true, ["Sr"]=true, ---------------------------------- ["ListaNagłówkówKsiążki"]=true, ["LiniaArtykułuKsiążki"]=true, ---------------------------------- ["PomiędzyNagłówek"]=true, ["LosowyNagłówek"]=true, ["PierwszyNagłówek"]=true, ["OstatniNagłówek"]=true, ["LiczbaNagłówkówSpisu"]=true, ---------------------------------- ["AktualnaKsiążka"]=true, ["NastępnyArtykuł"]=true, ["PoprzedniArtykuł"]=true, ["NazwaAktualnyArtykuł"]=true, ["LinkAktualnaKsiążka"]=true, ["LinkNastępnyArtykuł"]=true, ["LinkPoprzedniArtykuł"]=true, ---------------------------------- ["LinkNastępnySubArtykuł"]=true, ["LinkPoprzedniSubArtykuł"]=true, ---------------------------------- ["PierwszyArtykuł"]=true, ["OstatniArtykuł"]=true, ["PomiędzyArtykuł"]=true, ["LosowyArtykuł"]=true, ["PobierzNazwęArtykułu"]=true, ["PobierzNumerArtykułu"]=true, ["NazwaLinkuArtykułu"]=true, -------------------------------- ["PobierzNazwęNagłówka"]=true, ["PobierzNumerNagłówka"]=true, --------------------------------- ["LiczbaArtykułówKsiążki"]=true, ["PoziomNazwyArtykułu"]=true, --------------------------------- ["SubNazwaNadArtykułu"]=true, ["NazwaNadArtykułu"]=true, ["LinkNazwaNadArtykułu"]=true, ["LinkSubNazwaNadArtykułu"]=true, ----------------------------------- ["Autonawigacja"]=true, }; p.szablony_stronicowe_niekontenerowe={ ["ArtykułSubst"]=true, }; p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={ ["Formuła"]=1; }; ----szablony stronicowego parsera function m.SzablonyStronicowegoParsera() local t={}; t.szablony_kontenerowe={}; local s=t.szablony_kontenerowe; t.szablony_wprowadzenia_tekstu={}; local r=t.szablony_wprowadzenia_tekstu; t.szablony_tekstu={}; local q=t.szablony_tekstu; local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r) for _,szablony_naglowka in ipairs(naglowki) do r[szablony_naglowka[1]]=true; if(szablony_naglowka[2])then if(type(szablony_naglowka[2])=="table")then for _,wartosc in ipairs(szablony_naglowka[2])do r[wartosc]=true; end; else r[szablony_naglowka[2]]=true; end; end; end; end; SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r); SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q); local function TabNumer(n,obiekty_szablon,s) if(obiekty_szablon[n])then if(type(obiekty_szablon[n])=="table")then for _,wartosc in ipairs(obiekty_szablon[n])do s[wartosc]=true; end; else s[obiekty_szablon[n]]=true; end; end; end; local function RozpatrywanaTablica(tab_obiekty,s) for _,obiekty_szablon in ipairs(tab_obiekty)do s[obiekty_szablon[1]]=true; s["Link"..obiekty_szablon[1]]=true; TabNumer(2,obiekty_szablon,s); TabNumer(3,obiekty_szablon,s); end; end; RozpatrywanaTablica(p.normalne,s); RozpatrywanaTablica(p.wypowiedzi,s); RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s); RozpatrywanaTablica(p.tekst,s); TabNumer(2,p.obiekty,s); TabNumer(3,p.obiekty,s); local function IndeksowaneNaTak(tab_obiekty,s) for indeks,_ in pairs(tab_obiekty)do s[indeks]=true; end; end; IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s); IndeksowaneNaTak(p.szablony_kontenerowe,s); return t; end; p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera(); ----koniec szablony pudełka ----Tablica obiektów function m.TablicaObiektowychForm() local s={};local r={}; for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.tekst)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end; p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s; p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r; s[#s+1]=p.obiekty; return s; end; ---- m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function() local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],}; local tab_szablony=tab_obiektow[2]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]={tab_obiektow[1],tab_obiektow[5],}; end; else s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],}; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami(); m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function() local function Obiekty(s,linkobiekty) for _,tab_obiektow in ipairs(linkobiekty)do s["Link"..tab_obiektow[1]]=tab_obiektow[1]; local tab_szablony=tab_obiektow[3]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]=tab_obiektow[1]; end; else s[tab_szablony]=tab_obiektow[1]; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami(); m.FormatElementowyObiektowy=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_obiektowy=m.FormatElementowyObiektowy(); m.FormatElementowyReferencjiObiektowych=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]); s[element]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych(); ---- ---- p.tablica_obiektowych_form=m.TablicaObiektowychForm(); p.szablony_stron_zbiorczych={ ["KsiążkaSubst"]=true, ["StronaSubst"]=true, }; p.inne_szablony_stron_zbiorczych={ ["Sekcja referencyjna"]=true, ["Sr"]=true, } m.StronyZbiorcze=function() local s={}; local function Ziorcze(tab) for name,_ in pairs(tab)do s[name]=true; end; end; Ziorcze(p.szablony_stron_zbiorczych); Ziorcze(p.inne_szablony_stron_zbiorczych); return s; end; p.strona_zbiorcza=m.StronyZbiorcze(); p.strona_start_inne={ ["StandardowaStronaStart"]=true, ["PodstawowaStronaStart"]=true, ["ProstaStronaStart"]=true, }; p.strona_start={ ["StronaStart"]=true, }; p.strona_start_ze_spisem_rzeczy_strony={ ["UnikatowaStronaStart"]=true, ["UnikalnaStronaStart"]=true, ["SkomplikowanaStronaStart"]=true, }; p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={ ["SkomplikowanaStronaStart"]=true, }; m.SzablonyFormartowaniaTekstu=function() local s={}; local function DodatDoTablicy(tab) for name,_ in pairs(tab)do s[name]=true; local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec"); s[name_koniec]=true; end; end; DodatDoTablicy(p.strona_start); DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony); DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony); DodatDoTablicy(p.strona_start_inne); return s; end; p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu(); p.tablica_nazw_ramek_lua={ "StronicowyParser", }; ----Koniec tablica obiektów p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, --[[["dedykacja"]=true,]] }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spistreści"]=true, ["spistresci"]=true, ["spisrzeczy"]=true, }; --[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={ ["bibliografia"]=true, ["literatura"]=true, };]] p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={ [1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", [2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={ [1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,}, [2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,}, }; p.artykularne_niespisowe={ [1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$", --[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$", }; p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={ ["Kolumny"]=2, }; p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; p.szablony_z_dodatkiem_obiektowym={ ["ISBN"]="ISBN $(1)"; }; p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; p.szablony_do_usuwania_z_tekstu={ --- szablony książkowe umieszczane na stronie głównej podręcznika ["Kolekcja"]=true, ["TODO"]=true, ["Wersja do druku"]=true, --- szablony typowo linkowe ["Dane tekstu"]=true, --- szablony linkowania do innych projektow ["MediaWiki"]=true, ["Wikipedia"]=true, ["Wikipedia kat"]=true, ["Wikipedia2"]=true, ["Commons"]=true, ["Commons ilustr kat"]=true, ["Commonsall"]=true, ["Commonscat"]=true, ["Wikiatlas"]=true, ["Wikicytaty"]=true, ["Wikicytaty przysłowia"]=true, ["Inkubator"]=true, ["Meta"]=true, ["Wikinews"]=true, ["Wikinewscat"]=true, ["Wikinewsy"]=true, ["Portal Wikinews"]=true, ["Wikisłownik"]=true, ["Wikisłownik-cat"]=true, ["Wikimedia"]=true, ["Multiwmpl"]=true, ["Wikipodróże"]=true, ["Wikispecies"]=true, ["Multisource"]=true, ["Wikiźródła"]=true, ["Wikiźródła autor"]=true, ["Wikiźródła kat"]=true, ["Wikiźródła kuch kat"]=true, ["Wikiźródła krótki"]=true, ["Wikisource-lang"]=true, }; p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["LinkOgólne"]=true, ["Lo"]=true, --[[["LinkGłówna"]=true, ["LinkWikijunior"]=true, ["LinkWikijunior2"]=true, ["LinkProjekt"]=true, ["LinkProjekt2"]=true, ["LinkUżytkownik"]=true, ["LinkUżytkownik2"]=true,]] }; p.kody_szablony_linkowe_przestrzenne={ ["Główna"]={"",}, ["Wikijunior"]={"Wikijunior",}, ["Kategoria"]={"Category",}, ["Plik"]={"File",}, ["Projekt"]={"Project",}, ["Szablon"]={"Template",}, ["Użytkownik"]={"User",}, ["Pomoc"]={"Help",}, ["Moduł"]={"Module",}, ["Komunikat"]={"MediaWiki",}, ["Specjalna"]={"Special",}, ["Wikiprojekt"]={"Wikiproject","w",}, ["Portal"]={"Portal","w",}, ["Extension"]={"Extension","mw",}, }; p.kody_inne_szablony_linkowe_inteligentne={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.kody_szablony_linkowe_projektowe={ ["Pedia"]="w", ["Źródła"]="s", ["Cytaty"]="q", ["News"]="n", ["Słownik"]="wikt", ["Podróże"]="voy", ["Wersytet"]="betawikiversity", ["Species"]="wikispecies", ["Commons"]="commons", ["Dane"]="d", ["MediaWiki"]="mw", ["MetaWiki"]="m", }; p.kody_szablony_linkowe_dialektu={ ["En"]="en", }; p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; p.szablony_w_nie_w_tej_samej_linii={ ["SpisPozycja"]=true, ["SpisZw"]=true, ["SpisTreści"]=true, }; p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; p.szablony_wprowadzenia_napisu_spisu_rzeczy={ ["Ce"]=1, ["Centruj"]=1, ["Center"]=1, }; p.szablony_dokumentacji={ ["Dokumentacja"]=true, }; p.szablony_wykorzystywane_przez_strony_zbiorcze={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.szablony_licencji={ ["Licencja"]=true, }; p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; p.szablony_bez_generowania_napisowego={ ["Status"]=true, }; p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={ ["Rozdział"]=true, ["Podrozdział"]=true, ["MapaObrazu"]=true, }; p.strony_main_page_projektu={ ["Wikijunior:Strona główna"]=true, ["Wikibooks:Strona główna"]=true, ["Strona główna"]=true, ["Main Page"]=true, } p.szablony_nie_typowo_linkowe={ ["Plik"]=true, ["Kategoria"]=true, ["Kategorie"]=true, ["Wolumin"]=true, }; p.szablony_przypisowe={ ["Przypisy"]=true, ["Uwagi"]=true, ["Przypisy-lista"]=true, }; p.napisy_wprowadzenia_tekstu_przypisowych={ ["Przypisy"]=true, ["Uwagi"]=true, ["Bibliografia"]=true, ["Licencja"]=true, }; p.magiczne_derektywy={ ["TOC"]=true, ["NOTOC"]=true, ["NOEDITSECTION"]=true, } p.znaczniki_szablonowe={ ["Znacznik"]=1, ["Div"]=1, ["Code"]=1, ["Tt"]=1, ["P"]=1, ["Sub"]=1, ["Sup"]=1, ["Span"]=1, ["Bdo"]=1, ["Small"]=1, ["Big"]=1, ["Strong"]=1, }; p.szablony_indeksowania={ ["Kotwica"] =true, ["Indeksuj"]=true, }; p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={ ["g"]="Główna", ["c"]="Specjalna", ["k"]="Kategoria", ["l"]="Plik", ["m"]="Komunukat", ["d"]="Moduł", ["p"]="Pomoc", ["r"]="Projekt", ["s"]="Szablon", ["j"]="Wikijunior", ["ż"]="Użytkownik", ["e"]="Extension", ["x"]="Property", ["w"]="Wikiprojekt", ["t"]="Portal", }; p.nazwy_projektowe_serwisy_linkowe_inteligentne={ ["p"]="Pedia", ["l"]="EnPedia", ["s"]="Słownik", ["t"]="Cytaty", ["ź"]="Źródła", ["d"]="Podróże", ["g"]="Species", ["z"]="News", ["r"]="Wersytet", ["w"]="Wikia", ["c"]="Commons", ["n"]="Dane", ["k"]="MediaWiki", ["m"]="MetaWiki", ["b"]="En", }; p.przekierowania_szablonowe_linkowe_inteligentne_inne={ ["Lz"]="LinkURL", ["Lb"]="LinkWB", ["Sr"]="Sekcja referencyjna", }; p.nazwy_szablonowe_kolidacja={ ["Ltr"]=true, }; p.litery_przestrzeni_kolidacja={ ["ř"]="r", }; p.znaczniki_wprowadzenia_tekstu={ ["h1"]=1, ["h2"]=2, ["h3"]=3, ["h4"]=4, ["h5"]=5, ["h6"]=6, }; p.szablony_sztucznego_wprowadzenia_tekstu={ ["HNumer"]=1, }; p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={ ["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},}; }; return p; a75fj1fxozgy6fdz7z82vtxh37iyrde 543677 543675 2026-05-21T05:58:10Z Persino 2851 543677 Scribunto text/plain local p={}; local m={}; p.wypowiedzi={ {"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",}, {"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",}, {"Lemat", nil,nil,"Lematu",2,"lematami","lematów",}, {"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",}, {"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",}, {"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",}, {"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",}, {"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",}, {"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",}, {"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",}, {"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",}, {"Schemat",nil,nil,"Schematu",2,"schematami","schematów",}, }; p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",}; p.normalne={ {"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",}, {"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",}, {"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",}, {"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",}, }; p.napisy_wprowadzenia_tekstu={ {"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",}, }; p.tekst={ {"ŚródTekst",nil,{"PobierzŚródTekst",},"ŚródTekstu",2,"tekstami","tekstów",}, }; p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł"; m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane) local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i) if(type(linki_naglowka)=="table")then for _,wartosc in ipairs(linki_naglowka)do i=i+1; t[i]=wartosc; end; else i=i+1; t[i]=linki_naglowka; end; return t,i; end; local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]={}; local t=s[wartosc[1]]; local i=1; t[i]="Link"..wartosc[1]; t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i); end; return s; end; m.LinkiSzablonyNapisuWprowadzeniaTekstu=function() return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu) end; m.LinkiSzablonyTekstu=function() return m.LinkiSzablonyNieNumerowane(p.tekst) end; m.NienumerowaneSzablony=function(tab_szablony_nienumerowane) local s={}; for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do s[wartosc[1]]=true; end; return s; end; m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function() return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu); end; m.NienumerowaneSzablonyTekstu=function() return m.NienumerowaneSzablony(p.tekst); end; p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.linki_szablony_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.uklad_autonawigacji="Układ autonawigacji"; p.bez_uchwytow_spis_rzeczy_strony={ ["TOC"]=true, ["TOCRamka"]=true, }; p.szablony_z_lokalnym_spisem_rzeczy_strony={ ["TOC limit"]=true, ["Spis treści"]=true, ["TOCright"]=true, ["Spis treści zwinięty"]=true, }; p.szablony_kontenerowe={ ["Sekcja referencyjna"]=true, ["Sr"]=true, ---------------------------------- ["ListaNagłówkówKsiążki"]=true, ["LiniaArtykułuKsiążki"]=true, ---------------------------------- ["PomiędzyNagłówek"]=true, ["LosowyNagłówek"]=true, ["PierwszyNagłówek"]=true, ["OstatniNagłówek"]=true, ["LiczbaNagłówkówSpisu"]=true, ---------------------------------- ["AktualnaKsiążka"]=true, ["NastępnyArtykuł"]=true, ["PoprzedniArtykuł"]=true, ["NazwaAktualnyArtykuł"]=true, ["LinkAktualnaKsiążka"]=true, ["LinkNastępnyArtykuł"]=true, ["LinkPoprzedniArtykuł"]=true, ---------------------------------- ["LinkNastępnySubArtykuł"]=true, ["LinkPoprzedniSubArtykuł"]=true, ---------------------------------- ["PierwszyArtykuł"]=true, ["OstatniArtykuł"]=true, ["PomiędzyArtykuł"]=true, ["LosowyArtykuł"]=true, ["PobierzNazwęArtykułu"]=true, ["PobierzNumerArtykułu"]=true, ["NazwaLinkuArtykułu"]=true, -------------------------------- ["PobierzNazwęNagłówka"]=true, ["PobierzNumerNagłówka"]=true, --------------------------------- ["LiczbaArtykułówKsiążki"]=true, ["PoziomNazwyArtykułu"]=true, --------------------------------- ["SubNazwaNadArtykułu"]=true, ["NazwaNadArtykułu"]=true, ["LinkNazwaNadArtykułu"]=true, ["LinkSubNazwaNadArtykułu"]=true, ----------------------------------- ["Autonawigacja"]=true, }; p.szablony_stronicowe_niekontenerowe={ ["ArtykułSubst"]=true, }; p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={ ["Formuła"]=1; }; ----szablony stronicowego parsera function m.SzablonyStronicowegoParsera() local t={}; t.szablony_kontenerowe={}; local s=t.szablony_kontenerowe; t.szablony_wprowadzenia_tekstu={}; local r=t.szablony_wprowadzenia_tekstu; t.szablony_tekstu={}; local q=t.szablony_tekstu; local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r) for _,szablony_naglowka in ipairs(naglowki) do r[szablony_naglowka[1]]=true; if(szablony_naglowka[2])then if(type(szablony_naglowka[2])=="table")then for _,wartosc in ipairs(szablony_naglowka[2])do r[wartosc]=true; end; else r[szablony_naglowka[2]]=true; end; end; end; end; SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r); SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q); local function TabNumer(n,obiekty_szablon,s) if(obiekty_szablon[n])then if(type(obiekty_szablon[n])=="table")then for _,wartosc in ipairs(obiekty_szablon[n])do s[wartosc]=true; end; else s[obiekty_szablon[n]]=true; end; end; end; local function RozpatrywanaTablica(tab_obiekty,s) for _,obiekty_szablon in ipairs(tab_obiekty)do s[obiekty_szablon[1]]=true; s["Link"..obiekty_szablon[1]]=true; TabNumer(2,obiekty_szablon,s); TabNumer(3,obiekty_szablon,s); end; end; RozpatrywanaTablica(p.normalne,s); RozpatrywanaTablica(p.wypowiedzi,s); RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s); RozpatrywanaTablica(p.tekst,s); TabNumer(2,p.obiekty,s); TabNumer(3,p.obiekty,s); local function IndeksowaneNaTak(tab_obiekty,s) for indeks,_ in pairs(tab_obiekty)do s[indeks]=true; end; end; IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s); IndeksowaneNaTak(p.szablony_kontenerowe,s); return t; end; p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera(); ----koniec szablony pudełka ----Tablica obiektów function m.TablicaObiektowychForm() local s={};local r={}; for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.tekst)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end; p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s; p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r; s[#s+1]=p.obiekty; return s; end; ---- m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function() local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],}; local tab_szablony=tab_obiektow[2]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]={tab_obiektow[1],tab_obiektow[5],}; end; else s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],}; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami(); m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function() local function Obiekty(s,linkobiekty) for _,tab_obiektow in ipairs(linkobiekty)do s["Link"..tab_obiektow[1]]=tab_obiektow[1]; local tab_szablony=tab_obiektow[3]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]=tab_obiektow[1]; end; else s[tab_szablony]=tab_obiektow[1]; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami(); m.FormatElementowyObiektowy=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_obiektowy=m.FormatElementowyObiektowy(); m.FormatElementowyReferencjiObiektowych=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]); s[element]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych(); ---- ---- p.tablica_obiektowych_form=m.TablicaObiektowychForm(); p.szablony_stron_zbiorczych={ ["KsiążkaSubst"]=true, ["StronaSubst"]=true, }; p.inne_szablony_stron_zbiorczych={ ["Sekcja referencyjna"]=true, ["Sr"]=true, } m.StronyZbiorcze=function() local s={}; local function Ziorcze(tab) for name,_ in pairs(tab)do s[name]=true; end; end; Ziorcze(p.szablony_stron_zbiorczych); Ziorcze(p.inne_szablony_stron_zbiorczych); return s; end; p.strona_zbiorcza=m.StronyZbiorcze(); p.strona_start_inne={ ["StandardowaStronaStart"]=true, ["PodstawowaStronaStart"]=true, ["ProstaStronaStart"]=true, }; p.strona_start={ ["StronaStart"]=true, }; p.strona_start_ze_spisem_rzeczy_strony={ ["UnikatowaStronaStart"]=true, ["UnikalnaStronaStart"]=true, ["SkomplikowanaStronaStart"]=true, }; p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={ ["SkomplikowanaStronaStart"]=true, }; m.SzablonyFormartowaniaTekstu=function() local s={}; local function DodatDoTablicy(tab) for name,_ in pairs(tab)do s[name]=true; local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec"); s[name_koniec]=true; end; end; DodatDoTablicy(p.strona_start); DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony); DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony); DodatDoTablicy(p.strona_start_inne); return s; end; p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu(); p.tablica_nazw_ramek_lua={ "StronicowyParser", }; ----Koniec tablica obiektów p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, --[[["dedykacja"]=true,]] }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spistreści"]=true, ["spistresci"]=true, ["spisrzeczy"]=true, }; --[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={ ["bibliografia"]=true, ["literatura"]=true, };]] p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={ [1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", [2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={ [1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,}, [2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,}, }; p.artykularne_niespisowe={ [1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$", --[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$", }; p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={ ["Kolumny"]=2, }; p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; p.szablony_z_dodatkiem_obiektowym={ ["ISBN"]="ISBN $(1)"; }; p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; p.szablony_do_usuwania_z_tekstu={ --- szablony książkowe umieszczane na stronie głównej podręcznika ["Kolekcja"]=true, ["TODO"]=true, ["Wersja do druku"]=true, --- szablony typowo linkowe ["Dane tekstu"]=true, --- szablony linkowania do innych projektow ["MediaWiki"]=true, ["Wikipedia"]=true, ["Wikipedia kat"]=true, ["Wikipedia2"]=true, ["Commons"]=true, ["Commons ilustr kat"]=true, ["Commonsall"]=true, ["Commonscat"]=true, ["Wikiatlas"]=true, ["Wikicytaty"]=true, ["Wikicytaty przysłowia"]=true, ["Inkubator"]=true, ["Meta"]=true, ["Wikinews"]=true, ["Wikinewscat"]=true, ["Wikinewsy"]=true, ["Portal Wikinews"]=true, ["Wikisłownik"]=true, ["Wikisłownik-cat"]=true, ["Wikimedia"]=true, ["Multiwmpl"]=true, ["Wikipodróże"]=true, ["Wikispecies"]=true, ["Multisource"]=true, ["Wikiźródła"]=true, ["Wikiźródła autor"]=true, ["Wikiźródła kat"]=true, ["Wikiźródła kuch kat"]=true, ["Wikiźródła krótki"]=true, ["Wikisource-lang"]=true, }; p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["LinkOgólne"]=true, ["Lo"]=true, --[[["LinkGłówna"]=true, ["LinkWikijunior"]=true, ["LinkWikijunior2"]=true, ["LinkProjekt"]=true, ["LinkProjekt2"]=true, ["LinkUżytkownik"]=true, ["LinkUżytkownik2"]=true,]] }; p.kody_szablony_linkowe_przestrzenne={ ["Główna"]={"",}, ["Wikijunior"]={"Wikijunior",}, ["Kategoria"]={"Category",}, ["Plik"]={"File",}, ["Projekt"]={"Project",}, ["Szablon"]={"Template",}, ["Użytkownik"]={"User",}, ["Pomoc"]={"Help",}, ["Moduł"]={"Module",}, ["Komunikat"]={"MediaWiki",}, ["Specjalna"]={"Special",}, ["Wikiprojekt"]={"Wikiproject","w",}, ["Portal"]={"Portal","w",}, ["Extension"]={"Extension","mw",}, }; p.kody_inne_szablony_linkowe_inteligentne={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.kody_szablony_linkowe_projektowe={ ["Pedia"]="w", ["Źródła"]="s", ["Cytaty"]="q", ["News"]="n", ["Słownik"]="wikt", ["Podróże"]="voy", ["Wersytet"]="betawikiversity", ["Species"]="wikispecies", ["Commons"]="commons", ["Dane"]="d", ["MediaWiki"]="mw", ["MetaWiki"]="m", }; p.kody_szablony_linkowe_dialektu={ ["En"]="en", }; p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; p.szablony_w_nie_w_tej_samej_linii={ ["SpisPozycja"]=true, ["SpisZw"]=true, ["SpisTreści"]=true, }; p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; p.szablony_wprowadzenia_napisu_spisu_rzeczy={ ["Ce"]=1, ["Centruj"]=1, ["Center"]=1, }; p.szablony_dokumentacji={ ["Dokumentacja"]=true, }; p.szablony_wykorzystywane_przez_strony_zbiorcze={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.szablony_licencji={ ["Licencja"]=true, }; p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; p.szablony_bez_generowania_napisowego={ ["Status"]=true, }; p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={ ["Rozdział"]=true, ["Podrozdział"]=true, ["MapaObrazu"]=true, }; p.strony_main_page_projektu={ ["Wikijunior:Strona główna"]=true, ["Wikibooks:Strona główna"]=true, ["Strona główna"]=true, ["Main Page"]=true, } p.szablony_nie_typowo_linkowe={ ["Plik"]=true, ["Kategoria"]=true, ["Kategorie"]=true, ["Wolumin"]=true, }; p.szablony_przypisowe={ ["Przypisy"]=true, ["Uwagi"]=true, ["Przypisy-lista"]=true, }; p.napisy_wprowadzenia_tekstu_przypisowych={ ["Przypisy"]=true, ["Uwagi"]=true, ["Bibliografia"]=true, ["Licencja"]=true, }; p.magiczne_derektywy={ ["TOC"]=true, ["NOTOC"]=true, ["NOEDITSECTION"]=true, } p.znaczniki_szablonowe={ ["Znacznik"]=1, ["Div"]=1, ["Code"]=1, ["Tt"]=1, ["P"]=1, ["Sub"]=1, ["Sup"]=1, ["Span"]=1, ["Bdo"]=1, ["Small"]=1, ["Big"]=1, ["Strong"]=1, }; p.szablony_indeksowania={ ["Kotwica"] =true, ["Indeksuj"]=true, }; p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={ ["g"]="Główna", ["c"]="Specjalna", ["k"]="Kategoria", ["l"]="Plik", ["m"]="Komunukat", ["d"]="Moduł", ["p"]="Pomoc", ["r"]="Projekt", ["s"]="Szablon", ["j"]="Wikijunior", ["ż"]="Użytkownik", ["e"]="Extension", ["x"]="Property", ["w"]="Wikiprojekt", ["t"]="Portal", }; p.nazwy_projektowe_serwisy_linkowe_inteligentne={ ["p"]="Pedia", ["l"]="EnPedia", ["s"]="Słownik", ["t"]="Cytaty", ["ź"]="Źródła", ["d"]="Podróże", ["g"]="Species", ["z"]="News", ["r"]="Wersytet", ["w"]="Wikia", ["c"]="Commons", ["n"]="Dane", ["k"]="MediaWiki", ["m"]="MetaWiki", ["b"]="En", }; p.przekierowania_szablonowe_linkowe_inteligentne_inne={ ["Lz"]="LinkURL", ["Lb"]="LinkWB", ["Sr"]="Sekcja referencyjna", }; p.nazwy_szablonowe_kolidacja={ ["Ltr"]=true, }; p.litery_przestrzeni_kolidacja={ ["ř"]="r", }; p.znaczniki_wprowadzenia_tekstu={ ["h1"]=1, ["h2"]=2, ["h3"]=3, ["h4"]=4, ["h5"]=5, ["h6"]=6, }; p.szablony_sztucznego_wprowadzenia_tekstu={ ["HNumer"]=1, }; p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={ ["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},}; }; return p; be3fsgduad4679igh4mj0frja6my8zj 543681 543677 2026-05-21T06:13:46Z Persino 2851 543681 Scribunto text/plain local p={}; local m={}; p.wypowiedzi={ {"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",}, {"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",}, {"Lemat", nil,nil,"Lematu",2,"lematami","lematów",}, {"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",}, {"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",}, {"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",}, {"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",}, {"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",}, {"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",}, {"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",}, {"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",}, {"Schemat",nil,nil,"Schematu",2,"schematami","schematów",}, }; p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",}; p.normalne={ {"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",}, {"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",}, {"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",}, {"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",}, }; p.napisy_wprowadzenia_tekstu={ {"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",}, }; p.tekst={ {"ŚródTekst",nil,{"LinkŚródTekst",},"ŚródTekstu",2,"tekstami","tekstów",}, }; p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł"; m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane) local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i) if(type(linki_naglowka)=="table")then for _,wartosc in ipairs(linki_naglowka)do i=i+1; t[i]=wartosc; end; else i=i+1; t[i]=linki_naglowka; end; return t,i; end; local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]={}; local t=s[wartosc[1]]; local i=1; t[i]="Link"..wartosc[1]; t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i); end; return s; end; m.LinkiSzablonyNapisuWprowadzeniaTekstu=function() return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu) end; m.LinkiSzablonyTekstu=function() return m.LinkiSzablonyNieNumerowane(p.tekst) end; m.NienumerowaneSzablony=function(tab_szablony_nienumerowane) local s={}; for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do s[wartosc[1]]=true; end; return s; end; m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function() return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu); end; m.NienumerowaneSzablonyTekstu=function() return m.NienumerowaneSzablony(p.tekst); end; p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.linki_szablony_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.uklad_autonawigacji="Układ autonawigacji"; p.bez_uchwytow_spis_rzeczy_strony={ ["TOC"]=true, ["TOCRamka"]=true, }; p.szablony_z_lokalnym_spisem_rzeczy_strony={ ["TOC limit"]=true, ["Spis treści"]=true, ["TOCright"]=true, ["Spis treści zwinięty"]=true, }; p.szablony_kontenerowe={ ["Sekcja referencyjna"]=true, ["Sr"]=true, ---------------------------------- ["ListaNagłówkówKsiążki"]=true, ["LiniaArtykułuKsiążki"]=true, ---------------------------------- ["PomiędzyNagłówek"]=true, ["LosowyNagłówek"]=true, ["PierwszyNagłówek"]=true, ["OstatniNagłówek"]=true, ["LiczbaNagłówkówSpisu"]=true, ---------------------------------- ["AktualnaKsiążka"]=true, ["NastępnyArtykuł"]=true, ["PoprzedniArtykuł"]=true, ["NazwaAktualnyArtykuł"]=true, ["LinkAktualnaKsiążka"]=true, ["LinkNastępnyArtykuł"]=true, ["LinkPoprzedniArtykuł"]=true, ---------------------------------- ["LinkNastępnySubArtykuł"]=true, ["LinkPoprzedniSubArtykuł"]=true, ---------------------------------- ["PierwszyArtykuł"]=true, ["OstatniArtykuł"]=true, ["PomiędzyArtykuł"]=true, ["LosowyArtykuł"]=true, ["PobierzNazwęArtykułu"]=true, ["PobierzNumerArtykułu"]=true, ["NazwaLinkuArtykułu"]=true, -------------------------------- ["PobierzNazwęNagłówka"]=true, ["PobierzNumerNagłówka"]=true, --------------------------------- ["LiczbaArtykułówKsiążki"]=true, ["PoziomNazwyArtykułu"]=true, --------------------------------- ["SubNazwaNadArtykułu"]=true, ["NazwaNadArtykułu"]=true, ["LinkNazwaNadArtykułu"]=true, ["LinkSubNazwaNadArtykułu"]=true, ----------------------------------- ["Autonawigacja"]=true, }; p.szablony_stronicowe_niekontenerowe={ ["ArtykułSubst"]=true, }; p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={ ["Formuła"]=1; }; ----szablony stronicowego parsera function m.SzablonyStronicowegoParsera() local t={}; t.szablony_kontenerowe={}; local s=t.szablony_kontenerowe; t.szablony_wprowadzenia_tekstu={}; local r=t.szablony_wprowadzenia_tekstu; t.szablony_tekstu={}; local q=t.szablony_tekstu; local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r) for _,szablony_naglowka in ipairs(naglowki) do r[szablony_naglowka[1]]=true; if(szablony_naglowka[2])then if(type(szablony_naglowka[2])=="table")then for _,wartosc in ipairs(szablony_naglowka[2])do r[wartosc]=true; end; else r[szablony_naglowka[2]]=true; end; end; end; end; SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r); SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q); local function TabNumer(n,obiekty_szablon,s) if(obiekty_szablon[n])then if(type(obiekty_szablon[n])=="table")then for _,wartosc in ipairs(obiekty_szablon[n])do s[wartosc]=true; end; else s[obiekty_szablon[n]]=true; end; end; end; local function RozpatrywanaTablica(tab_obiekty,s) for _,obiekty_szablon in ipairs(tab_obiekty)do s[obiekty_szablon[1]]=true; s["Link"..obiekty_szablon[1]]=true; TabNumer(2,obiekty_szablon,s); TabNumer(3,obiekty_szablon,s); end; end; RozpatrywanaTablica(p.normalne,s); RozpatrywanaTablica(p.wypowiedzi,s); RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s); RozpatrywanaTablica(p.tekst,s); TabNumer(2,p.obiekty,s); TabNumer(3,p.obiekty,s); local function IndeksowaneNaTak(tab_obiekty,s) for indeks,_ in pairs(tab_obiekty)do s[indeks]=true; end; end; IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s); IndeksowaneNaTak(p.szablony_kontenerowe,s); return t; end; p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera(); ----koniec szablony pudełka ----Tablica obiektów function m.TablicaObiektowychForm() local s={};local r={}; for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.tekst)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end; p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s; p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r; s[#s+1]=p.obiekty; return s; end; ---- m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function() local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],}; local tab_szablony=tab_obiektow[2]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]={tab_obiektow[1],tab_obiektow[5],}; end; else s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],}; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami(); m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function() local function Obiekty(s,linkobiekty) for _,tab_obiektow in ipairs(linkobiekty)do s["Link"..tab_obiektow[1]]=tab_obiektow[1]; local tab_szablony=tab_obiektow[3]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]=tab_obiektow[1]; end; else s[tab_szablony]=tab_obiektow[1]; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami(); m.FormatElementowyObiektowy=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_obiektowy=m.FormatElementowyObiektowy(); m.FormatElementowyReferencjiObiektowych=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]); s[element]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych(); ---- ---- p.tablica_obiektowych_form=m.TablicaObiektowychForm(); p.szablony_stron_zbiorczych={ ["KsiążkaSubst"]=true, ["StronaSubst"]=true, }; p.inne_szablony_stron_zbiorczych={ ["Sekcja referencyjna"]=true, ["Sr"]=true, } m.StronyZbiorcze=function() local s={}; local function Ziorcze(tab) for name,_ in pairs(tab)do s[name]=true; end; end; Ziorcze(p.szablony_stron_zbiorczych); Ziorcze(p.inne_szablony_stron_zbiorczych); return s; end; p.strona_zbiorcza=m.StronyZbiorcze(); p.strona_start_inne={ ["StandardowaStronaStart"]=true, ["PodstawowaStronaStart"]=true, ["ProstaStronaStart"]=true, }; p.strona_start={ ["StronaStart"]=true, }; p.strona_start_ze_spisem_rzeczy_strony={ ["UnikatowaStronaStart"]=true, ["UnikalnaStronaStart"]=true, ["SkomplikowanaStronaStart"]=true, }; p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={ ["SkomplikowanaStronaStart"]=true, }; m.SzablonyFormartowaniaTekstu=function() local s={}; local function DodatDoTablicy(tab) for name,_ in pairs(tab)do s[name]=true; local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec"); s[name_koniec]=true; end; end; DodatDoTablicy(p.strona_start); DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony); DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony); DodatDoTablicy(p.strona_start_inne); return s; end; p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu(); p.tablica_nazw_ramek_lua={ "StronicowyParser", }; ----Koniec tablica obiektów p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, --[[["dedykacja"]=true,]] }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spistreści"]=true, ["spistresci"]=true, ["spisrzeczy"]=true, }; --[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={ ["bibliografia"]=true, ["literatura"]=true, };]] p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={ [1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", [2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={ [1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,}, [2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,}, }; p.artykularne_niespisowe={ [1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$", --[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$", }; p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={ ["Kolumny"]=2, }; p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; p.szablony_z_dodatkiem_obiektowym={ ["ISBN"]="ISBN $(1)"; }; p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; p.szablony_do_usuwania_z_tekstu={ --- szablony książkowe umieszczane na stronie głównej podręcznika ["Kolekcja"]=true, ["TODO"]=true, ["Wersja do druku"]=true, --- szablony typowo linkowe ["Dane tekstu"]=true, --- szablony linkowania do innych projektow ["MediaWiki"]=true, ["Wikipedia"]=true, ["Wikipedia kat"]=true, ["Wikipedia2"]=true, ["Commons"]=true, ["Commons ilustr kat"]=true, ["Commonsall"]=true, ["Commonscat"]=true, ["Wikiatlas"]=true, ["Wikicytaty"]=true, ["Wikicytaty przysłowia"]=true, ["Inkubator"]=true, ["Meta"]=true, ["Wikinews"]=true, ["Wikinewscat"]=true, ["Wikinewsy"]=true, ["Portal Wikinews"]=true, ["Wikisłownik"]=true, ["Wikisłownik-cat"]=true, ["Wikimedia"]=true, ["Multiwmpl"]=true, ["Wikipodróże"]=true, ["Wikispecies"]=true, ["Multisource"]=true, ["Wikiźródła"]=true, ["Wikiźródła autor"]=true, ["Wikiźródła kat"]=true, ["Wikiźródła kuch kat"]=true, ["Wikiźródła krótki"]=true, ["Wikisource-lang"]=true, }; p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["LinkOgólne"]=true, ["Lo"]=true, --[[["LinkGłówna"]=true, ["LinkWikijunior"]=true, ["LinkWikijunior2"]=true, ["LinkProjekt"]=true, ["LinkProjekt2"]=true, ["LinkUżytkownik"]=true, ["LinkUżytkownik2"]=true,]] }; p.kody_szablony_linkowe_przestrzenne={ ["Główna"]={"",}, ["Wikijunior"]={"Wikijunior",}, ["Kategoria"]={"Category",}, ["Plik"]={"File",}, ["Projekt"]={"Project",}, ["Szablon"]={"Template",}, ["Użytkownik"]={"User",}, ["Pomoc"]={"Help",}, ["Moduł"]={"Module",}, ["Komunikat"]={"MediaWiki",}, ["Specjalna"]={"Special",}, ["Wikiprojekt"]={"Wikiproject","w",}, ["Portal"]={"Portal","w",}, ["Extension"]={"Extension","mw",}, }; p.kody_inne_szablony_linkowe_inteligentne={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.kody_szablony_linkowe_projektowe={ ["Pedia"]="w", ["Źródła"]="s", ["Cytaty"]="q", ["News"]="n", ["Słownik"]="wikt", ["Podróże"]="voy", ["Wersytet"]="betawikiversity", ["Species"]="wikispecies", ["Commons"]="commons", ["Dane"]="d", ["MediaWiki"]="mw", ["MetaWiki"]="m", }; p.kody_szablony_linkowe_dialektu={ ["En"]="en", }; p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; p.szablony_w_nie_w_tej_samej_linii={ ["SpisPozycja"]=true, ["SpisZw"]=true, ["SpisTreści"]=true, }; p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; p.szablony_wprowadzenia_napisu_spisu_rzeczy={ ["Ce"]=1, ["Centruj"]=1, ["Center"]=1, }; p.szablony_dokumentacji={ ["Dokumentacja"]=true, }; p.szablony_wykorzystywane_przez_strony_zbiorcze={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.szablony_licencji={ ["Licencja"]=true, }; p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; p.szablony_bez_generowania_napisowego={ ["Status"]=true, }; p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={ ["Rozdział"]=true, ["Podrozdział"]=true, ["MapaObrazu"]=true, }; p.strony_main_page_projektu={ ["Wikijunior:Strona główna"]=true, ["Wikibooks:Strona główna"]=true, ["Strona główna"]=true, ["Main Page"]=true, } p.szablony_nie_typowo_linkowe={ ["Plik"]=true, ["Kategoria"]=true, ["Kategorie"]=true, ["Wolumin"]=true, }; p.szablony_przypisowe={ ["Przypisy"]=true, ["Uwagi"]=true, ["Przypisy-lista"]=true, }; p.napisy_wprowadzenia_tekstu_przypisowych={ ["Przypisy"]=true, ["Uwagi"]=true, ["Bibliografia"]=true, ["Licencja"]=true, }; p.magiczne_derektywy={ ["TOC"]=true, ["NOTOC"]=true, ["NOEDITSECTION"]=true, } p.znaczniki_szablonowe={ ["Znacznik"]=1, ["Div"]=1, ["Code"]=1, ["Tt"]=1, ["P"]=1, ["Sub"]=1, ["Sup"]=1, ["Span"]=1, ["Bdo"]=1, ["Small"]=1, ["Big"]=1, ["Strong"]=1, }; p.szablony_indeksowania={ ["Kotwica"] =true, ["Indeksuj"]=true, }; p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={ ["g"]="Główna", ["c"]="Specjalna", ["k"]="Kategoria", ["l"]="Plik", ["m"]="Komunukat", ["d"]="Moduł", ["p"]="Pomoc", ["r"]="Projekt", ["s"]="Szablon", ["j"]="Wikijunior", ["ż"]="Użytkownik", ["e"]="Extension", ["x"]="Property", ["w"]="Wikiprojekt", ["t"]="Portal", }; p.nazwy_projektowe_serwisy_linkowe_inteligentne={ ["p"]="Pedia", ["l"]="EnPedia", ["s"]="Słownik", ["t"]="Cytaty", ["ź"]="Źródła", ["d"]="Podróże", ["g"]="Species", ["z"]="News", ["r"]="Wersytet", ["w"]="Wikia", ["c"]="Commons", ["n"]="Dane", ["k"]="MediaWiki", ["m"]="MetaWiki", ["b"]="En", }; p.przekierowania_szablonowe_linkowe_inteligentne_inne={ ["Lz"]="LinkURL", ["Lb"]="LinkWB", ["Sr"]="Sekcja referencyjna", }; p.nazwy_szablonowe_kolidacja={ ["Ltr"]=true, }; p.litery_przestrzeni_kolidacja={ ["ř"]="r", }; p.znaczniki_wprowadzenia_tekstu={ ["h1"]=1, ["h2"]=2, ["h3"]=3, ["h4"]=4, ["h5"]=5, ["h6"]=6, }; p.szablony_sztucznego_wprowadzenia_tekstu={ ["HNumer"]=1, }; p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={ ["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},}; }; return p; djnljcvp9425nkkp8vyzped6iwzoet0 543682 543681 2026-05-21T06:14:09Z Persino 2851 543682 Scribunto text/plain local p={}; local m={}; p.wypowiedzi={ {"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",}, {"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",}, {"Lemat", nil,nil,"Lematu",2,"lematami","lematów",}, {"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",}, {"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",}, {"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",}, {"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",}, {"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",}, {"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",}, {"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",}, {"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",}, {"Schemat",nil,nil,"Schematu",2,"schematami","schematów",}, }; p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",}; p.normalne={ {"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",}, {"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",}, {"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",}, {"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",}, }; p.napisy_wprowadzenia_tekstu={ {"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",}, }; p.tekst={ {"ŚródTekst",nil,nil,"ŚródTekstu",2,"tekstami","tekstów",}, }; p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł"; m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane) local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i) if(type(linki_naglowka)=="table")then for _,wartosc in ipairs(linki_naglowka)do i=i+1; t[i]=wartosc; end; else i=i+1; t[i]=linki_naglowka; end; return t,i; end; local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]={}; local t=s[wartosc[1]]; local i=1; t[i]="Link"..wartosc[1]; t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i); end; return s; end; m.LinkiSzablonyNapisuWprowadzeniaTekstu=function() return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu) end; m.LinkiSzablonyTekstu=function() return m.LinkiSzablonyNieNumerowane(p.tekst) end; m.NienumerowaneSzablony=function(tab_szablony_nienumerowane) local s={}; for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do s[wartosc[1]]=true; end; return s; end; m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function() return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu); end; m.NienumerowaneSzablonyTekstu=function() return m.NienumerowaneSzablony(p.tekst); end; p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.linki_szablony_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.uklad_autonawigacji="Układ autonawigacji"; p.bez_uchwytow_spis_rzeczy_strony={ ["TOC"]=true, ["TOCRamka"]=true, }; p.szablony_z_lokalnym_spisem_rzeczy_strony={ ["TOC limit"]=true, ["Spis treści"]=true, ["TOCright"]=true, ["Spis treści zwinięty"]=true, }; p.szablony_kontenerowe={ ["Sekcja referencyjna"]=true, ["Sr"]=true, ---------------------------------- ["ListaNagłówkówKsiążki"]=true, ["LiniaArtykułuKsiążki"]=true, ---------------------------------- ["PomiędzyNagłówek"]=true, ["LosowyNagłówek"]=true, ["PierwszyNagłówek"]=true, ["OstatniNagłówek"]=true, ["LiczbaNagłówkówSpisu"]=true, ---------------------------------- ["AktualnaKsiążka"]=true, ["NastępnyArtykuł"]=true, ["PoprzedniArtykuł"]=true, ["NazwaAktualnyArtykuł"]=true, ["LinkAktualnaKsiążka"]=true, ["LinkNastępnyArtykuł"]=true, ["LinkPoprzedniArtykuł"]=true, ---------------------------------- ["LinkNastępnySubArtykuł"]=true, ["LinkPoprzedniSubArtykuł"]=true, ---------------------------------- ["PierwszyArtykuł"]=true, ["OstatniArtykuł"]=true, ["PomiędzyArtykuł"]=true, ["LosowyArtykuł"]=true, ["PobierzNazwęArtykułu"]=true, ["PobierzNumerArtykułu"]=true, ["NazwaLinkuArtykułu"]=true, -------------------------------- ["PobierzNazwęNagłówka"]=true, ["PobierzNumerNagłówka"]=true, --------------------------------- ["LiczbaArtykułówKsiążki"]=true, ["PoziomNazwyArtykułu"]=true, --------------------------------- ["SubNazwaNadArtykułu"]=true, ["NazwaNadArtykułu"]=true, ["LinkNazwaNadArtykułu"]=true, ["LinkSubNazwaNadArtykułu"]=true, ----------------------------------- ["Autonawigacja"]=true, }; p.szablony_stronicowe_niekontenerowe={ ["ArtykułSubst"]=true, }; p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={ ["Formuła"]=1; }; ----szablony stronicowego parsera function m.SzablonyStronicowegoParsera() local t={}; t.szablony_kontenerowe={}; local s=t.szablony_kontenerowe; t.szablony_wprowadzenia_tekstu={}; local r=t.szablony_wprowadzenia_tekstu; t.szablony_tekstu={}; local q=t.szablony_tekstu; local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r) for _,szablony_naglowka in ipairs(naglowki) do r[szablony_naglowka[1]]=true; if(szablony_naglowka[2])then if(type(szablony_naglowka[2])=="table")then for _,wartosc in ipairs(szablony_naglowka[2])do r[wartosc]=true; end; else r[szablony_naglowka[2]]=true; end; end; end; end; SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r); SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q); local function TabNumer(n,obiekty_szablon,s) if(obiekty_szablon[n])then if(type(obiekty_szablon[n])=="table")then for _,wartosc in ipairs(obiekty_szablon[n])do s[wartosc]=true; end; else s[obiekty_szablon[n]]=true; end; end; end; local function RozpatrywanaTablica(tab_obiekty,s) for _,obiekty_szablon in ipairs(tab_obiekty)do s[obiekty_szablon[1]]=true; s["Link"..obiekty_szablon[1]]=true; TabNumer(2,obiekty_szablon,s); TabNumer(3,obiekty_szablon,s); end; end; RozpatrywanaTablica(p.normalne,s); RozpatrywanaTablica(p.wypowiedzi,s); RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s); RozpatrywanaTablica(p.tekst,s); TabNumer(2,p.obiekty,s); TabNumer(3,p.obiekty,s); local function IndeksowaneNaTak(tab_obiekty,s) for indeks,_ in pairs(tab_obiekty)do s[indeks]=true; end; end; IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s); IndeksowaneNaTak(p.szablony_kontenerowe,s); return t; end; p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera(); ----koniec szablony pudełka ----Tablica obiektów function m.TablicaObiektowychForm() local s={};local r={}; for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.tekst)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end; p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s; p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r; s[#s+1]=p.obiekty; return s; end; ---- m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function() local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],}; local tab_szablony=tab_obiektow[2]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]={tab_obiektow[1],tab_obiektow[5],}; end; else s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],}; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami(); m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function() local function Obiekty(s,linkobiekty) for _,tab_obiektow in ipairs(linkobiekty)do s["Link"..tab_obiektow[1]]=tab_obiektow[1]; local tab_szablony=tab_obiektow[3]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]=tab_obiektow[1]; end; else s[tab_szablony]=tab_obiektow[1]; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami(); m.FormatElementowyObiektowy=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_obiektowy=m.FormatElementowyObiektowy(); m.FormatElementowyReferencjiObiektowych=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]); s[element]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych(); ---- ---- p.tablica_obiektowych_form=m.TablicaObiektowychForm(); p.szablony_stron_zbiorczych={ ["KsiążkaSubst"]=true, ["StronaSubst"]=true, }; p.inne_szablony_stron_zbiorczych={ ["Sekcja referencyjna"]=true, ["Sr"]=true, } m.StronyZbiorcze=function() local s={}; local function Ziorcze(tab) for name,_ in pairs(tab)do s[name]=true; end; end; Ziorcze(p.szablony_stron_zbiorczych); Ziorcze(p.inne_szablony_stron_zbiorczych); return s; end; p.strona_zbiorcza=m.StronyZbiorcze(); p.strona_start_inne={ ["StandardowaStronaStart"]=true, ["PodstawowaStronaStart"]=true, ["ProstaStronaStart"]=true, }; p.strona_start={ ["StronaStart"]=true, }; p.strona_start_ze_spisem_rzeczy_strony={ ["UnikatowaStronaStart"]=true, ["UnikalnaStronaStart"]=true, ["SkomplikowanaStronaStart"]=true, }; p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={ ["SkomplikowanaStronaStart"]=true, }; m.SzablonyFormartowaniaTekstu=function() local s={}; local function DodatDoTablicy(tab) for name,_ in pairs(tab)do s[name]=true; local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec"); s[name_koniec]=true; end; end; DodatDoTablicy(p.strona_start); DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony); DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony); DodatDoTablicy(p.strona_start_inne); return s; end; p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu(); p.tablica_nazw_ramek_lua={ "StronicowyParser", }; ----Koniec tablica obiektów p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, --[[["dedykacja"]=true,]] }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spistreści"]=true, ["spistresci"]=true, ["spisrzeczy"]=true, }; --[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={ ["bibliografia"]=true, ["literatura"]=true, };]] p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={ [1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", [2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={ [1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,}, [2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,}, }; p.artykularne_niespisowe={ [1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$", --[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$", }; p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={ ["Kolumny"]=2, }; p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; p.szablony_z_dodatkiem_obiektowym={ ["ISBN"]="ISBN $(1)"; }; p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; p.szablony_do_usuwania_z_tekstu={ --- szablony książkowe umieszczane na stronie głównej podręcznika ["Kolekcja"]=true, ["TODO"]=true, ["Wersja do druku"]=true, --- szablony typowo linkowe ["Dane tekstu"]=true, --- szablony linkowania do innych projektow ["MediaWiki"]=true, ["Wikipedia"]=true, ["Wikipedia kat"]=true, ["Wikipedia2"]=true, ["Commons"]=true, ["Commons ilustr kat"]=true, ["Commonsall"]=true, ["Commonscat"]=true, ["Wikiatlas"]=true, ["Wikicytaty"]=true, ["Wikicytaty przysłowia"]=true, ["Inkubator"]=true, ["Meta"]=true, ["Wikinews"]=true, ["Wikinewscat"]=true, ["Wikinewsy"]=true, ["Portal Wikinews"]=true, ["Wikisłownik"]=true, ["Wikisłownik-cat"]=true, ["Wikimedia"]=true, ["Multiwmpl"]=true, ["Wikipodróże"]=true, ["Wikispecies"]=true, ["Multisource"]=true, ["Wikiźródła"]=true, ["Wikiźródła autor"]=true, ["Wikiźródła kat"]=true, ["Wikiźródła kuch kat"]=true, ["Wikiźródła krótki"]=true, ["Wikisource-lang"]=true, }; p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["LinkOgólne"]=true, ["Lo"]=true, --[[["LinkGłówna"]=true, ["LinkWikijunior"]=true, ["LinkWikijunior2"]=true, ["LinkProjekt"]=true, ["LinkProjekt2"]=true, ["LinkUżytkownik"]=true, ["LinkUżytkownik2"]=true,]] }; p.kody_szablony_linkowe_przestrzenne={ ["Główna"]={"",}, ["Wikijunior"]={"Wikijunior",}, ["Kategoria"]={"Category",}, ["Plik"]={"File",}, ["Projekt"]={"Project",}, ["Szablon"]={"Template",}, ["Użytkownik"]={"User",}, ["Pomoc"]={"Help",}, ["Moduł"]={"Module",}, ["Komunikat"]={"MediaWiki",}, ["Specjalna"]={"Special",}, ["Wikiprojekt"]={"Wikiproject","w",}, ["Portal"]={"Portal","w",}, ["Extension"]={"Extension","mw",}, }; p.kody_inne_szablony_linkowe_inteligentne={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.kody_szablony_linkowe_projektowe={ ["Pedia"]="w", ["Źródła"]="s", ["Cytaty"]="q", ["News"]="n", ["Słownik"]="wikt", ["Podróże"]="voy", ["Wersytet"]="betawikiversity", ["Species"]="wikispecies", ["Commons"]="commons", ["Dane"]="d", ["MediaWiki"]="mw", ["MetaWiki"]="m", }; p.kody_szablony_linkowe_dialektu={ ["En"]="en", }; p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; p.szablony_w_nie_w_tej_samej_linii={ ["SpisPozycja"]=true, ["SpisZw"]=true, ["SpisTreści"]=true, }; p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; p.szablony_wprowadzenia_napisu_spisu_rzeczy={ ["Ce"]=1, ["Centruj"]=1, ["Center"]=1, }; p.szablony_dokumentacji={ ["Dokumentacja"]=true, }; p.szablony_wykorzystywane_przez_strony_zbiorcze={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.szablony_licencji={ ["Licencja"]=true, }; p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; p.szablony_bez_generowania_napisowego={ ["Status"]=true, }; p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={ ["Rozdział"]=true, ["Podrozdział"]=true, ["MapaObrazu"]=true, }; p.strony_main_page_projektu={ ["Wikijunior:Strona główna"]=true, ["Wikibooks:Strona główna"]=true, ["Strona główna"]=true, ["Main Page"]=true, } p.szablony_nie_typowo_linkowe={ ["Plik"]=true, ["Kategoria"]=true, ["Kategorie"]=true, ["Wolumin"]=true, }; p.szablony_przypisowe={ ["Przypisy"]=true, ["Uwagi"]=true, ["Przypisy-lista"]=true, }; p.napisy_wprowadzenia_tekstu_przypisowych={ ["Przypisy"]=true, ["Uwagi"]=true, ["Bibliografia"]=true, ["Licencja"]=true, }; p.magiczne_derektywy={ ["TOC"]=true, ["NOTOC"]=true, ["NOEDITSECTION"]=true, } p.znaczniki_szablonowe={ ["Znacznik"]=1, ["Div"]=1, ["Code"]=1, ["Tt"]=1, ["P"]=1, ["Sub"]=1, ["Sup"]=1, ["Span"]=1, ["Bdo"]=1, ["Small"]=1, ["Big"]=1, ["Strong"]=1, }; p.szablony_indeksowania={ ["Kotwica"] =true, ["Indeksuj"]=true, }; p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={ ["g"]="Główna", ["c"]="Specjalna", ["k"]="Kategoria", ["l"]="Plik", ["m"]="Komunukat", ["d"]="Moduł", ["p"]="Pomoc", ["r"]="Projekt", ["s"]="Szablon", ["j"]="Wikijunior", ["ż"]="Użytkownik", ["e"]="Extension", ["x"]="Property", ["w"]="Wikiprojekt", ["t"]="Portal", }; p.nazwy_projektowe_serwisy_linkowe_inteligentne={ ["p"]="Pedia", ["l"]="EnPedia", ["s"]="Słownik", ["t"]="Cytaty", ["ź"]="Źródła", ["d"]="Podróże", ["g"]="Species", ["z"]="News", ["r"]="Wersytet", ["w"]="Wikia", ["c"]="Commons", ["n"]="Dane", ["k"]="MediaWiki", ["m"]="MetaWiki", ["b"]="En", }; p.przekierowania_szablonowe_linkowe_inteligentne_inne={ ["Lz"]="LinkURL", ["Lb"]="LinkWB", ["Sr"]="Sekcja referencyjna", }; p.nazwy_szablonowe_kolidacja={ ["Ltr"]=true, }; p.litery_przestrzeni_kolidacja={ ["ř"]="r", }; p.znaczniki_wprowadzenia_tekstu={ ["h1"]=1, ["h2"]=2, ["h3"]=3, ["h4"]=4, ["h5"]=5, ["h6"]=6, }; p.szablony_sztucznego_wprowadzenia_tekstu={ ["HNumer"]=1, }; p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={ ["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},}; }; return p; a75fj1fxozgy6fdz7z82vtxh37iyrde 543689 543682 2026-05-21T06:30:44Z Persino 2851 543689 Scribunto text/plain local p={}; local m={}; p.wypowiedzi={ {"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",}, {"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",}, {"Lemat", nil,nil,"Lematu",2,"lematami","lematów",}, {"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",}, {"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",}, {"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",}, {"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",}, {"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",}, {"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",}, {"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",}, {"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",}, {"Schemat",nil,nil,"Schematu",2,"schematami","schematów",}, }; p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",}; p.normalne={ {"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",}, {"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",}, {"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",}, {"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",}, }; p.napisy_wprowadzenia_tekstu={ {"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",}, }; p.tekst={ {"ŚródTekst",nil,nil,"ŚródTekstu",2,"tekstami","tekstów",}, }; p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł"; m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane) local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i) if(type(linki_naglowka)=="table")then for _,wartosc in ipairs(linki_naglowka)do i=i+1; t[i]=wartosc; end; else i=i+1; t[i]=linki_naglowka; end; return t,i; end; local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]={}; local t=s[wartosc[1]]; local i=1; t[i]="Link"..wartosc[1]; t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i); end; return s; end; m.LinkiSzablonyNapisuWprowadzeniaTekstu=function() return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu) end; m.LinkiSzablonyTekstu=function() return m.LinkiSzablonyNieNumerowane(p.tekst) end; m.NienumerowaneSzablony=function(tab_szablony_nienumerowane) local s={}; for _,wartosc in ipairs(p.napisy_wprowadzenia_tekstu)do s[wartosc[1]]=true; end; return s; end; m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function() return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu); end; m.NienumerowaneSzablonyTekstu=function() return m.NienumerowaneSzablony(p.tekst); end; p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.linki_szablony_tekstu=m.LinkiSzablonyTekstu(); p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyTekstu(); p.uklad_autonawigacji="Układ autonawigacji"; p.bez_uchwytow_spis_rzeczy_strony={ ["TOC"]=true, ["TOCRamka"]=true, }; p.szablony_z_lokalnym_spisem_rzeczy_strony={ ["TOC limit"]=true, ["Spis treści"]=true, ["TOCright"]=true, ["Spis treści zwinięty"]=true, }; p.szablony_kontenerowe={ ["Sekcja referencyjna"]=true, ["Sr"]=true, ---------------------------------- ["ListaNagłówkówKsiążki"]=true, ["LiniaArtykułuKsiążki"]=true, ---------------------------------- ["PomiędzyNagłówek"]=true, ["LosowyNagłówek"]=true, ["PierwszyNagłówek"]=true, ["OstatniNagłówek"]=true, ["LiczbaNagłówkówSpisu"]=true, ---------------------------------- ["AktualnaKsiążka"]=true, ["NastępnyArtykuł"]=true, ["PoprzedniArtykuł"]=true, ["NazwaAktualnyArtykuł"]=true, ["LinkAktualnaKsiążka"]=true, ["LinkNastępnyArtykuł"]=true, ["LinkPoprzedniArtykuł"]=true, ---------------------------------- ["LinkNastępnySubArtykuł"]=true, ["LinkPoprzedniSubArtykuł"]=true, ---------------------------------- ["PierwszyArtykuł"]=true, ["OstatniArtykuł"]=true, ["PomiędzyArtykuł"]=true, ["LosowyArtykuł"]=true, ["PobierzNazwęArtykułu"]=true, ["PobierzNumerArtykułu"]=true, ["NazwaLinkuArtykułu"]=true, -------------------------------- ["PobierzNazwęNagłówka"]=true, ["PobierzNumerNagłówka"]=true, --------------------------------- ["LiczbaArtykułówKsiążki"]=true, ["PoziomNazwyArtykułu"]=true, --------------------------------- ["SubNazwaNadArtykułu"]=true, ["NazwaNadArtykułu"]=true, ["LinkNazwaNadArtykułu"]=true, ["LinkSubNazwaNadArtykułu"]=true, ----------------------------------- ["Autonawigacja"]=true, }; p.szablony_stronicowe_niekontenerowe={ ["ArtykułSubst"]=true, }; p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={ ["Formuła"]=1; }; ----szablony stronicowego parsera function m.SzablonyStronicowegoParsera() local t={}; t.szablony_kontenerowe={}; local s=t.szablony_kontenerowe; t.szablony_wprowadzenia_tekstu={}; local r=t.szablony_wprowadzenia_tekstu; t.szablony_tekstu={}; local q=t.szablony_tekstu; local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r) for _,szablony_naglowka in ipairs(naglowki) do r[szablony_naglowka[1]]=true; if(szablony_naglowka[2])then if(type(szablony_naglowka[2])=="table")then for _,wartosc in ipairs(szablony_naglowka[2])do r[wartosc]=true; end; else r[szablony_naglowka[2]]=true; end; end; end; end; SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r); SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q); local function TabNumer(n,obiekty_szablon,s) if(obiekty_szablon[n])then if(type(obiekty_szablon[n])=="table")then for _,wartosc in ipairs(obiekty_szablon[n])do s[wartosc]=true; end; else s[obiekty_szablon[n]]=true; end; end; end; local function RozpatrywanaTablica(tab_obiekty,s) for _,obiekty_szablon in ipairs(tab_obiekty)do s[obiekty_szablon[1]]=true; s["Link"..obiekty_szablon[1]]=true; TabNumer(2,obiekty_szablon,s); TabNumer(3,obiekty_szablon,s); end; end; RozpatrywanaTablica(p.normalne,s); RozpatrywanaTablica(p.wypowiedzi,s); RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s); RozpatrywanaTablica(p.tekst,s); TabNumer(2,p.obiekty,s); TabNumer(3,p.obiekty,s); local function IndeksowaneNaTak(tab_obiekty,s) for indeks,_ in pairs(tab_obiekty)do s[indeks]=true; end; end; IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s); IndeksowaneNaTak(p.szablony_kontenerowe,s); return t; end; p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera(); ----koniec szablony pudełka ----Tablica obiektów function m.TablicaObiektowychForm() local s={};local r={}; for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.tekst)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end; p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s; p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r; s[#s+1]=p.obiekty; return s; end; ---- m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function() local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],}; local tab_szablony=tab_obiektow[2]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]={tab_obiektow[1],tab_obiektow[5],}; end; else s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],}; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami(); m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function() local function Obiekty(s,linkobiekty) for _,tab_obiektow in ipairs(linkobiekty)do s["Link"..tab_obiektow[1]]=tab_obiektow[1]; local tab_szablony=tab_obiektow[3]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]=tab_obiektow[1]; end; else s[tab_szablony]=tab_obiektow[1]; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami(); m.FormatElementowyObiektowy=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_obiektowy=m.FormatElementowyObiektowy(); m.FormatElementowyReferencjiObiektowych=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]); s[element]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych(); ---- ---- p.tablica_obiektowych_form=m.TablicaObiektowychForm(); p.szablony_stron_zbiorczych={ ["KsiążkaSubst"]=true, ["StronaSubst"]=true, }; p.inne_szablony_stron_zbiorczych={ ["Sekcja referencyjna"]=true, ["Sr"]=true, } m.StronyZbiorcze=function() local s={}; local function Ziorcze(tab) for name,_ in pairs(tab)do s[name]=true; end; end; Ziorcze(p.szablony_stron_zbiorczych); Ziorcze(p.inne_szablony_stron_zbiorczych); return s; end; p.strona_zbiorcza=m.StronyZbiorcze(); p.strona_start_inne={ ["StandardowaStronaStart"]=true, ["PodstawowaStronaStart"]=true, ["ProstaStronaStart"]=true, }; p.strona_start={ ["StronaStart"]=true, }; p.strona_start_ze_spisem_rzeczy_strony={ ["UnikatowaStronaStart"]=true, ["UnikalnaStronaStart"]=true, ["SkomplikowanaStronaStart"]=true, }; p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={ ["SkomplikowanaStronaStart"]=true, }; m.SzablonyFormartowaniaTekstu=function() local s={}; local function DodatDoTablicy(tab) for name,_ in pairs(tab)do s[name]=true; local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec"); s[name_koniec]=true; end; end; DodatDoTablicy(p.strona_start); DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony); DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony); DodatDoTablicy(p.strona_start_inne); return s; end; p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu(); p.tablica_nazw_ramek_lua={ "StronicowyParser", }; ----Koniec tablica obiektów p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, --[[["dedykacja"]=true,]] }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spistreści"]=true, ["spistresci"]=true, ["spisrzeczy"]=true, }; --[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={ ["bibliografia"]=true, ["literatura"]=true, };]] p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={ [1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", [2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={ [1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,}, [2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,}, }; p.artykularne_niespisowe={ [1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$", --[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$", }; p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={ ["Kolumny"]=2, }; p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; p.szablony_z_dodatkiem_obiektowym={ ["ISBN"]="ISBN $(1)"; }; p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; p.szablony_do_usuwania_z_tekstu={ --- szablony książkowe umieszczane na stronie głównej podręcznika ["Kolekcja"]=true, ["TODO"]=true, ["Wersja do druku"]=true, --- szablony typowo linkowe ["Dane tekstu"]=true, --- szablony linkowania do innych projektow ["MediaWiki"]=true, ["Wikipedia"]=true, ["Wikipedia kat"]=true, ["Wikipedia2"]=true, ["Commons"]=true, ["Commons ilustr kat"]=true, ["Commonsall"]=true, ["Commonscat"]=true, ["Wikiatlas"]=true, ["Wikicytaty"]=true, ["Wikicytaty przysłowia"]=true, ["Inkubator"]=true, ["Meta"]=true, ["Wikinews"]=true, ["Wikinewscat"]=true, ["Wikinewsy"]=true, ["Portal Wikinews"]=true, ["Wikisłownik"]=true, ["Wikisłownik-cat"]=true, ["Wikimedia"]=true, ["Multiwmpl"]=true, ["Wikipodróże"]=true, ["Wikispecies"]=true, ["Multisource"]=true, ["Wikiźródła"]=true, ["Wikiźródła autor"]=true, ["Wikiźródła kat"]=true, ["Wikiźródła kuch kat"]=true, ["Wikiźródła krótki"]=true, ["Wikisource-lang"]=true, }; p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["LinkOgólne"]=true, ["Lo"]=true, --[[["LinkGłówna"]=true, ["LinkWikijunior"]=true, ["LinkWikijunior2"]=true, ["LinkProjekt"]=true, ["LinkProjekt2"]=true, ["LinkUżytkownik"]=true, ["LinkUżytkownik2"]=true,]] }; p.kody_szablony_linkowe_przestrzenne={ ["Główna"]={"",}, ["Wikijunior"]={"Wikijunior",}, ["Kategoria"]={"Category",}, ["Plik"]={"File",}, ["Projekt"]={"Project",}, ["Szablon"]={"Template",}, ["Użytkownik"]={"User",}, ["Pomoc"]={"Help",}, ["Moduł"]={"Module",}, ["Komunikat"]={"MediaWiki",}, ["Specjalna"]={"Special",}, ["Wikiprojekt"]={"Wikiproject","w",}, ["Portal"]={"Portal","w",}, ["Extension"]={"Extension","mw",}, }; p.kody_inne_szablony_linkowe_inteligentne={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.kody_szablony_linkowe_projektowe={ ["Pedia"]="w", ["Źródła"]="s", ["Cytaty"]="q", ["News"]="n", ["Słownik"]="wikt", ["Podróże"]="voy", ["Wersytet"]="betawikiversity", ["Species"]="wikispecies", ["Commons"]="commons", ["Dane"]="d", ["MediaWiki"]="mw", ["MetaWiki"]="m", }; p.kody_szablony_linkowe_dialektu={ ["En"]="en", }; p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; p.szablony_w_nie_w_tej_samej_linii={ ["SpisPozycja"]=true, ["SpisZw"]=true, ["SpisTreści"]=true, }; p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; p.szablony_wprowadzenia_napisu_spisu_rzeczy={ ["Ce"]=1, ["Centruj"]=1, ["Center"]=1, }; p.szablony_dokumentacji={ ["Dokumentacja"]=true, }; p.szablony_wykorzystywane_przez_strony_zbiorcze={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.szablony_licencji={ ["Licencja"]=true, }; p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; p.szablony_bez_generowania_napisowego={ ["Status"]=true, }; p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={ ["Rozdział"]=true, ["Podrozdział"]=true, ["MapaObrazu"]=true, }; p.strony_main_page_projektu={ ["Wikijunior:Strona główna"]=true, ["Wikibooks:Strona główna"]=true, ["Strona główna"]=true, ["Main Page"]=true, } p.szablony_nie_typowo_linkowe={ ["Plik"]=true, ["Kategoria"]=true, ["Kategorie"]=true, ["Wolumin"]=true, }; p.szablony_przypisowe={ ["Przypisy"]=true, ["Uwagi"]=true, ["Przypisy-lista"]=true, }; p.napisy_wprowadzenia_tekstu_przypisowych={ ["Przypisy"]=true, ["Uwagi"]=true, ["Bibliografia"]=true, ["Licencja"]=true, }; p.magiczne_derektywy={ ["TOC"]=true, ["NOTOC"]=true, ["NOEDITSECTION"]=true, } p.znaczniki_szablonowe={ ["Znacznik"]=1, ["Div"]=1, ["Code"]=1, ["Tt"]=1, ["P"]=1, ["Sub"]=1, ["Sup"]=1, ["Span"]=1, ["Bdo"]=1, ["Small"]=1, ["Big"]=1, ["Strong"]=1, }; p.szablony_indeksowania={ ["Kotwica"] =true, ["Indeksuj"]=true, }; p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={ ["g"]="Główna", ["c"]="Specjalna", ["k"]="Kategoria", ["l"]="Plik", ["m"]="Komunukat", ["d"]="Moduł", ["p"]="Pomoc", ["r"]="Projekt", ["s"]="Szablon", ["j"]="Wikijunior", ["ż"]="Użytkownik", ["e"]="Extension", ["x"]="Property", ["w"]="Wikiprojekt", ["t"]="Portal", }; p.nazwy_projektowe_serwisy_linkowe_inteligentne={ ["p"]="Pedia", ["l"]="EnPedia", ["s"]="Słownik", ["t"]="Cytaty", ["ź"]="Źródła", ["d"]="Podróże", ["g"]="Species", ["z"]="News", ["r"]="Wersytet", ["w"]="Wikia", ["c"]="Commons", ["n"]="Dane", ["k"]="MediaWiki", ["m"]="MetaWiki", ["b"]="En", }; p.przekierowania_szablonowe_linkowe_inteligentne_inne={ ["Lz"]="LinkURL", ["Lb"]="LinkWB", ["Sr"]="Sekcja referencyjna", }; p.nazwy_szablonowe_kolidacja={ ["Ltr"]=true, }; p.litery_przestrzeni_kolidacja={ ["ř"]="r", }; p.znaczniki_wprowadzenia_tekstu={ ["h1"]=1, ["h2"]=2, ["h3"]=3, ["h4"]=4, ["h5"]=5, ["h6"]=6, }; p.szablony_sztucznego_wprowadzenia_tekstu={ ["HNumer"]=1, }; p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={ ["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},}; }; return p; sv2jot90lpm3juqc8w4ki07d5i7ifeq 543690 543689 2026-05-21T06:33:24Z Persino 2851 543690 Scribunto text/plain local p={}; local m={}; p.wypowiedzi={ {"Twierdzenie", nil,nil,"Twierdzenia",2,"twierdzeniami","twierdzeń",}, {"Hipoteza",nil,nil,"Hipotezy", 2,"hipotezami","hipotez",}, {"Lemat", nil,nil,"Lematu",2,"lematami","lematów",}, {"Kryterium", nil,nil,"Kryterium",2,"kryteriami","kryteriów",}, {"Dowód", nil,nil,"Dowodu",2,"dowodami","dowodów",}, {"Postulat", nil,nil,"Postulatu",2,"postulatami","postulatów",}, {"Postulaty", nil,nil,"Postulatów",2,"grupami postulatów","grup postulatów",}, {"Określenie", nil,nil,"Określenia",2,"definicjami","definicji",}, {"Zadanie", nil,nil,"Zadania",2,"zadaniami","zadań",}, {"Praktyka",nil,nil,"Praktyki",2,"ćwiczeniami","ćwiczeń",}, {"Procedura",nil,nil,"Procedury",2,"procedurami","procedur",}, {"Schemat",nil,nil,"Schematu",2,"schematami","schematów",}, }; p.obiekty={"Obiekt",nil,nil,"Obiektu",2,"nienazwanymi obiektami","nienazwanych obiektów",}; p.normalne={ {"Wzór",{"Wzór2","CentrujWzór","CentrujWzór2","MathMLWzór","MathMLWzór2","CentrujMathMLWzór","CentrujMathMLWzór2",},nil,"Wzoru",2,"wzorami","wzorów",}, {"Rysunek",nil,nil,"Rysunku",2,"rysunkami","rysunków",}, {"Patrz",nil,nil,"Patrz",1,"patrzeniem","patrzenia",}, {"ZobaczTeż",nil,nil,"ZobaczTeż",1,"zobaczeniem też","zobaczenia też",}, }; p.napisy_wprowadzenia_tekstu={ {"Śródtytuł",nil,{"LinkŚródtytułTutaj",},"Śródtytułu",1,"nagłówkami","nagłówków",}, }; p.tekst={ {"ŚródTekst",nil,nil,"ŚródTekstu",2,"tekstami","tekstów",}, }; p.nazwa_szablonu_wprowadzenia_tekstu="Śródtytuł"; m.LinkiSzablonyNieNumerowane=function(tab_szablony_nienumerowane) local function DalszeLinkiWprowadzeniaTekstu(linki_naglowka,t,i) if(type(linki_naglowka)=="table")then for _,wartosc in ipairs(linki_naglowka)do i=i+1; t[i]=wartosc; end; else i=i+1; t[i]=linki_naglowka; end; return t,i; end; local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]={}; local t=s[wartosc[1]]; local i=1; t[i]="Link"..wartosc[1]; t,i=DalszeLinkiWprowadzeniaTekstu(wartosc[3],t,i); end; return s; end; m.LinkiSzablonyNapisuWprowadzeniaTekstu=function() return m.LinkiSzablonyNieNumerowane(p.napisy_wprowadzenia_tekstu) end; m.LinkiSzablonyTekstu=function() return m.LinkiSzablonyNieNumerowane(p.tekst) end; m.NienumerowaneSzablony=function(tab_szablony_nienumerowane) local s={}; for _,wartosc in ipairs(tab_szablony_nienumerowane)do s[wartosc[1]]=true; end; return s; end; m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu=function() return m.NienumerowaneSzablony(p.napisy_wprowadzenia_tekstu); end; m.NienumerowaneSzablonyTekstu=function() return m.NienumerowaneSzablony(p.tekst); end; p.linki_szablony_wprowadzenia_tekstu=m.LinkiSzablonyNapisuWprowadzeniaTekstu(); p.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu=m.NienumerowaneSzablonyNapisuWprowadzeniaTekstu(); p.linki_szablony_tekstu=m.LinkiSzablonyTekstu(); p.nienumerowane_z_uchwytami_szablony_tekstu=m.NienumerowaneSzablonyTekstu(); p.uklad_autonawigacji="Układ autonawigacji"; p.bez_uchwytow_spis_rzeczy_strony={ ["TOC"]=true, ["TOCRamka"]=true, }; p.szablony_z_lokalnym_spisem_rzeczy_strony={ ["TOC limit"]=true, ["Spis treści"]=true, ["TOCright"]=true, ["Spis treści zwinięty"]=true, }; p.szablony_kontenerowe={ ["Sekcja referencyjna"]=true, ["Sr"]=true, ---------------------------------- ["ListaNagłówkówKsiążki"]=true, ["LiniaArtykułuKsiążki"]=true, ---------------------------------- ["PomiędzyNagłówek"]=true, ["LosowyNagłówek"]=true, ["PierwszyNagłówek"]=true, ["OstatniNagłówek"]=true, ["LiczbaNagłówkówSpisu"]=true, ---------------------------------- ["AktualnaKsiążka"]=true, ["NastępnyArtykuł"]=true, ["PoprzedniArtykuł"]=true, ["NazwaAktualnyArtykuł"]=true, ["LinkAktualnaKsiążka"]=true, ["LinkNastępnyArtykuł"]=true, ["LinkPoprzedniArtykuł"]=true, ---------------------------------- ["LinkNastępnySubArtykuł"]=true, ["LinkPoprzedniSubArtykuł"]=true, ---------------------------------- ["PierwszyArtykuł"]=true, ["OstatniArtykuł"]=true, ["PomiędzyArtykuł"]=true, ["LosowyArtykuł"]=true, ["PobierzNazwęArtykułu"]=true, ["PobierzNumerArtykułu"]=true, ["NazwaLinkuArtykułu"]=true, -------------------------------- ["PobierzNazwęNagłówka"]=true, ["PobierzNumerNagłówka"]=true, --------------------------------- ["LiczbaArtykułówKsiążki"]=true, ["PoziomNazwyArtykułu"]=true, --------------------------------- ["SubNazwaNadArtykułu"]=true, ["NazwaNadArtykułu"]=true, ["LinkNazwaNadArtykułu"]=true, ["LinkSubNazwaNadArtykułu"]=true, ----------------------------------- ["Autonawigacja"]=true, }; p.szablony_stronicowe_niekontenerowe={ ["ArtykułSubst"]=true, }; p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={ ["Formuła"]=1; }; ----szablony stronicowego parsera function m.SzablonyStronicowegoParsera() local t={}; t.szablony_kontenerowe={}; local s=t.szablony_kontenerowe; t.szablony_wprowadzenia_tekstu={}; local r=t.szablony_wprowadzenia_tekstu; t.szablony_tekstu={}; local q=t.szablony_tekstu; local function SzablonyUchwytoweNapisuWprowadzeniaTekstu(naglowki,r) for _,szablony_naglowka in ipairs(naglowki) do r[szablony_naglowka[1]]=true; if(szablony_naglowka[2])then if(type(szablony_naglowka[2])=="table")then for _,wartosc in ipairs(szablony_naglowka[2])do r[wartosc]=true; end; else r[szablony_naglowka[2]]=true; end; end; end; end; SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.napisy_wprowadzenia_tekstu,r); SzablonyUchwytoweNapisuWprowadzeniaTekstu(p.tekst,q); local function TabNumer(n,obiekty_szablon,s) if(obiekty_szablon[n])then if(type(obiekty_szablon[n])=="table")then for _,wartosc in ipairs(obiekty_szablon[n])do s[wartosc]=true; end; else s[obiekty_szablon[n]]=true; end; end; end; local function RozpatrywanaTablica(tab_obiekty,s) for _,obiekty_szablon in ipairs(tab_obiekty)do s[obiekty_szablon[1]]=true; s["Link"..obiekty_szablon[1]]=true; TabNumer(2,obiekty_szablon,s); TabNumer(3,obiekty_szablon,s); end; end; RozpatrywanaTablica(p.normalne,s); RozpatrywanaTablica(p.wypowiedzi,s); RozpatrywanaTablica(p.napisy_wprowadzenia_tekstu,s); RozpatrywanaTablica(p.tekst,s); TabNumer(2,p.obiekty,s); TabNumer(3,p.obiekty,s); local function IndeksowaneNaTak(tab_obiekty,s) for indeks,_ in pairs(tab_obiekty)do s[indeks]=true; end; end; IndeksowaneNaTak(p.bez_uchwytow_spis_rzeczy_strony,s); IndeksowaneNaTak(p.szablony_kontenerowe,s); return t; end; p.szablony_stronicowego_parsera=m.SzablonyStronicowegoParsera(); ----koniec szablony pudełka ----Tablica obiektów function m.TablicaObiektowychForm() local s={};local r={}; for _,element_w_tablicy_obiekty in pairs(p.normalne)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.napisy_wprowadzenia_tekstu)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.tekst)do s[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.normalne)do r[#s+1]=element_w_tablicy_obiekty;end; for _,element_w_tablicy_obiekty in pairs(p.wypowiedzi)do r[#s+1]=element_w_tablicy_obiekty;end; p.tablica_mozliwych_obiektow_bez_obiektu_nienazwanego=s; p.tablica_mozliwych_numerowanych_obiektow_bez_obiektu_nienazwanego=r; s[#s+1]=p.obiekty; return s; end; ---- m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami=function() local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]={tab_obiektow[1],tab_obiektow[5],}; local tab_szablony=tab_obiektow[2]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]={tab_obiektow[1],tab_obiektow[5],}; end; else s[tab_szablony]={tab_obiektow[1],tab_obiektow[5],}; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyObiektoweNumerowaneINienumerowaneZUchwytami(); m.ElementyReferencjiObiektowychNumerowanychZUchwytami=function() local function Obiekty(s,linkobiekty) for _,tab_obiektow in ipairs(linkobiekty)do s["Link"..tab_obiektow[1]]=tab_obiektow[1]; local tab_szablony=tab_obiektow[3]; if(tab_szablony)then if(type(tab_szablony)=="table")then for _,element in ipairs(tab_szablony)do s[element]=tab_obiektow[1]; end; else s[tab_szablony]=tab_obiektow[1]; end; end; end; end; local s={};local r={};local q={}; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); Obiekty(r,p.napisy_wprowadzenia_tekstu); Obiekty(q,p.tekst); return {numerowane_obiekty=s,nienumerowane_obiekty_napisu_wprowadzenia_tekstu=r,nienumerowane_obiekty_tekstu=q,}; end; p.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane=m.ElementyReferencjiObiektowychNumerowanychZUchwytami(); m.FormatElementowyObiektowy=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do s[tab_obiektow[1]]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_obiektowy=m.FormatElementowyObiektowy(); m.FormatElementowyReferencjiObiektowych=function() local s={}; local function Obiekty(s,obiekty) for _,tab_obiektow in ipairs(obiekty)do local element=mw.getContentLanguage():lcfirst(tab_obiektow[1]); s[element]=true; end; end; Obiekty(s,p.wypowiedzi); Obiekty(s,p.normalne); return s; end; p.format_elementowy_referencji_obiektowy=m.FormatElementowyReferencjiObiektowych(); ---- ---- p.tablica_obiektowych_form=m.TablicaObiektowychForm(); p.szablony_stron_zbiorczych={ ["KsiążkaSubst"]=true, ["StronaSubst"]=true, }; p.inne_szablony_stron_zbiorczych={ ["Sekcja referencyjna"]=true, ["Sr"]=true, } m.StronyZbiorcze=function() local s={}; local function Ziorcze(tab) for name,_ in pairs(tab)do s[name]=true; end; end; Ziorcze(p.szablony_stron_zbiorczych); Ziorcze(p.inne_szablony_stron_zbiorczych); return s; end; p.strona_zbiorcza=m.StronyZbiorcze(); p.strona_start_inne={ ["StandardowaStronaStart"]=true, ["PodstawowaStronaStart"]=true, ["ProstaStronaStart"]=true, }; p.strona_start={ ["StronaStart"]=true, }; p.strona_start_ze_spisem_rzeczy_strony={ ["UnikatowaStronaStart"]=true, ["UnikalnaStronaStart"]=true, ["SkomplikowanaStronaStart"]=true, }; p.strona_start_analiza_zaawansowana_spis_rzeczy_strony={ ["SkomplikowanaStronaStart"]=true, }; m.SzablonyFormartowaniaTekstu=function() local s={}; local function DodatDoTablicy(tab) for name,_ in pairs(tab)do s[name]=true; local name_koniec,_=mw.ustring.gsub(name,"Start$","Koniec"); s[name_koniec]=true; end; end; DodatDoTablicy(p.strona_start); DodatDoTablicy(p.strona_start_ze_spisem_rzeczy_strony); DodatDoTablicy(p.strona_start_analiza_zaawansowana_spis_rzeczy_strony); DodatDoTablicy(p.strona_start_inne); return s; end; p.szablony_stronicowe_formatowania_tekstu=m.SzablonyFormartowaniaTekstu(); p.tablica_nazw_ramek_lua={ "StronicowyParser", }; ----Koniec tablica obiektów p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, --[[["dedykacja"]=true,]] }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spistreści"]=true, ["spistresci"]=true, ["spisrzeczy"]=true, }; --[[p.tablica_nazw_wprowadzenia_tekstu_dodatkowych={ ["bibliografia"]=true, ["literatura"]=true, };]] p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={ [1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", [2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*", }; p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={ [1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,}, [2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,}, }; p.artykularne_niespisowe={ [1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$", --[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$", }; p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu={ ["Kolumny"]=2, }; p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; p.szablony_z_dodatkiem_obiektowym={ ["ISBN"]="ISBN $(1)"; }; p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; p.szablony_do_usuwania_z_tekstu={ --- szablony książkowe umieszczane na stronie głównej podręcznika ["Kolekcja"]=true, ["TODO"]=true, ["Wersja do druku"]=true, --- szablony typowo linkowe ["Dane tekstu"]=true, --- szablony linkowania do innych projektow ["MediaWiki"]=true, ["Wikipedia"]=true, ["Wikipedia kat"]=true, ["Wikipedia2"]=true, ["Commons"]=true, ["Commons ilustr kat"]=true, ["Commonsall"]=true, ["Commonscat"]=true, ["Wikiatlas"]=true, ["Wikicytaty"]=true, ["Wikicytaty przysłowia"]=true, ["Inkubator"]=true, ["Meta"]=true, ["Wikinews"]=true, ["Wikinewscat"]=true, ["Wikinewsy"]=true, ["Portal Wikinews"]=true, ["Wikisłownik"]=true, ["Wikisłownik-cat"]=true, ["Wikimedia"]=true, ["Multiwmpl"]=true, ["Wikipodróże"]=true, ["Wikispecies"]=true, ["Multisource"]=true, ["Wikiźródła"]=true, ["Wikiźródła autor"]=true, ["Wikiźródła kat"]=true, ["Wikiźródła kuch kat"]=true, ["Wikiźródła krótki"]=true, ["Wikisource-lang"]=true, }; p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["LinkOgólne"]=true, ["Lo"]=true, --[[["LinkGłówna"]=true, ["LinkWikijunior"]=true, ["LinkWikijunior2"]=true, ["LinkProjekt"]=true, ["LinkProjekt2"]=true, ["LinkUżytkownik"]=true, ["LinkUżytkownik2"]=true,]] }; p.kody_szablony_linkowe_przestrzenne={ ["Główna"]={"",}, ["Wikijunior"]={"Wikijunior",}, ["Kategoria"]={"Category",}, ["Plik"]={"File",}, ["Projekt"]={"Project",}, ["Szablon"]={"Template",}, ["Użytkownik"]={"User",}, ["Pomoc"]={"Help",}, ["Moduł"]={"Module",}, ["Komunikat"]={"MediaWiki",}, ["Specjalna"]={"Special",}, ["Wikiprojekt"]={"Wikiproject","w",}, ["Portal"]={"Portal","w",}, ["Extension"]={"Extension","mw",}, }; p.kody_inne_szablony_linkowe_inteligentne={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.kody_szablony_linkowe_projektowe={ ["Pedia"]="w", ["Źródła"]="s", ["Cytaty"]="q", ["News"]="n", ["Słownik"]="wikt", ["Podróże"]="voy", ["Wersytet"]="betawikiversity", ["Species"]="wikispecies", ["Commons"]="commons", ["Dane"]="d", ["MediaWiki"]="mw", ["MetaWiki"]="m", }; p.kody_szablony_linkowe_dialektu={ ["En"]="en", }; p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; p.szablony_w_nie_w_tej_samej_linii={ ["SpisPozycja"]=true, ["SpisZw"]=true, ["SpisTreści"]=true, }; p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; p.szablony_wprowadzenia_napisu_spisu_rzeczy={ ["Ce"]=1, ["Centruj"]=1, ["Center"]=1, }; p.szablony_dokumentacji={ ["Dokumentacja"]=true, }; p.szablony_wykorzystywane_przez_strony_zbiorcze={ ["Sekcja referencyjna"]=true, ["Sr"]=true, }; p.szablony_licencji={ ["Licencja"]=true, }; p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; p.szablony_bez_generowania_napisowego={ ["Status"]=true, }; p.szablony_nieodpowiednie_napisu_wprowadzenia_tekstu_centrowanego={ ["Rozdział"]=true, ["Podrozdział"]=true, ["MapaObrazu"]=true, }; p.strony_main_page_projektu={ ["Wikijunior:Strona główna"]=true, ["Wikibooks:Strona główna"]=true, ["Strona główna"]=true, ["Main Page"]=true, } p.szablony_nie_typowo_linkowe={ ["Plik"]=true, ["Kategoria"]=true, ["Kategorie"]=true, ["Wolumin"]=true, }; p.szablony_przypisowe={ ["Przypisy"]=true, ["Uwagi"]=true, ["Przypisy-lista"]=true, }; p.napisy_wprowadzenia_tekstu_przypisowych={ ["Przypisy"]=true, ["Uwagi"]=true, ["Bibliografia"]=true, ["Licencja"]=true, }; p.magiczne_derektywy={ ["TOC"]=true, ["NOTOC"]=true, ["NOEDITSECTION"]=true, } p.znaczniki_szablonowe={ ["Znacznik"]=1, ["Div"]=1, ["Code"]=1, ["Tt"]=1, ["P"]=1, ["Sub"]=1, ["Sup"]=1, ["Span"]=1, ["Bdo"]=1, ["Small"]=1, ["Big"]=1, ["Strong"]=1, }; p.szablony_indeksowania={ ["Kotwica"] =true, ["Indeksuj"]=true, }; p.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne={ ["g"]="Główna", ["c"]="Specjalna", ["k"]="Kategoria", ["l"]="Plik", ["m"]="Komunukat", ["d"]="Moduł", ["p"]="Pomoc", ["r"]="Projekt", ["s"]="Szablon", ["j"]="Wikijunior", ["ż"]="Użytkownik", ["e"]="Extension", ["x"]="Property", ["w"]="Wikiprojekt", ["t"]="Portal", }; p.nazwy_projektowe_serwisy_linkowe_inteligentne={ ["p"]="Pedia", ["l"]="EnPedia", ["s"]="Słownik", ["t"]="Cytaty", ["ź"]="Źródła", ["d"]="Podróże", ["g"]="Species", ["z"]="News", ["r"]="Wersytet", ["w"]="Wikia", ["c"]="Commons", ["n"]="Dane", ["k"]="MediaWiki", ["m"]="MetaWiki", ["b"]="En", }; p.przekierowania_szablonowe_linkowe_inteligentne_inne={ ["Lz"]="LinkURL", ["Lb"]="LinkWB", ["Sr"]="Sekcja referencyjna", }; p.nazwy_szablonowe_kolidacja={ ["Ltr"]=true, }; p.litery_przestrzeni_kolidacja={ ["ř"]="r", }; p.znaczniki_wprowadzenia_tekstu={ ["h1"]=1, ["h2"]=2, ["h3"]=3, ["h4"]=4, ["h5"]=5, ["h6"]=6, }; p.szablony_sztucznego_wprowadzenia_tekstu={ ["HNumer"]=1, }; p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={ ["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},}; }; return p; q3yfb0xy0btmbr7ozvz72mnbqlx0drn Moduł:StronicowyParser/ZbieranieDanychStron 828 55009 543663 543399 2026-05-21T05:16:57Z Persino 2851 543663 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,true); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwa_przestrzeni or nazwy_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or nazwy_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or nazwy_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or nazwy_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); end; end; function p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych={}; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych); if(tabela_listy_danych_analizy_ksiazki0)then if(not parametry_modul.CzyTak{[1]=tabela_listy_danych_analizy_ksiazki0,})then return;end; p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron","Link"..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron","Link"..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local tabela_elementow_strony_kodow={}; for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowSzablonuISzablonu(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); end; end; if(not czy_link)then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then lista_dwuelementowa[2]=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1]; end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowSzablonuISzablonu); end; local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; end; return self.tabela_listy_danych_analizy_ksiazki; end; return p; cr0c3qc3hl4kbb6chkpuudw3qr3klsj 543699 543663 2026-05-21T07:49:29Z Persino 2851 543699 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,true); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwa_przestrzeni or nazwy_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or nazwy_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or nazwy_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or nazwy_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu); end; end; function p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych={}; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych); if(tabela_listy_danych_analizy_ksiazki0)then if(not parametry_modul.CzyTak{[1]=tabela_listy_danych_analizy_ksiazki0,})then return;end; p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron","Link"..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron","Link"..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local tabela_elementow_strony_kodow={}; for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowSzablonuISzablonu(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); end; end; if(not czy_link)then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1]; if(tekst)then tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul); local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); lista_dwuelementowa[2]=tekst; end; end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowSzablonuISzablonu); end; local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; end; return self.tabela_listy_danych_analizy_ksiazki; end; return p; mc8x9oxrerq8ej2nkch9kb86wegwq9l Szablon:LinkŚródtytuł/silnik 10 55019 543671 543374 2026-05-21T05:44:57Z Persino 2851 543671 wikitext text/x-wiki <includeonly>{{#ifeq:{{#invoke:StronicowyParser|formatowanie}}|tak|<templatestyles src="Szablon:StronaStart/styles.css" />}}{{#invoke:StronicowyParser|NumerŚródtytułu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|LinkŚródtytuł}}} | klasa = {{#if:{{#invoke:StronicowyParser|formatowanie}}|fonty_rodzina_sans fonty_linknagłówek}} | styl = {{Jeśli niepuste|{{{czcionka|}}}|przed lewy=font:|po lewy=;}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rozmiar czcionki|}}}|przed lewy=font-size:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{wysokość linii czcionki|}}}|przed lewy=line-height:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rodzina czcionki|}}}|przed lewy=font-family:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{wariant czcionki|}}}|przed lewy=font-variant:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rozciągnięcie czcionki|}}}|przed lewy=font-stretch:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{waga czcionki|}}}|przed lewy=font-weight:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{styl czcionki|}}}|przed lewy=font-style:|po lewy=;}}}} }}{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|{{{nazwa szablonu|LinkŚródtytuł}}}}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | czcionka = | rozmiar czcionki = | wysokość linii czcionki = | rodzina czcionki = | wariant czcionki = | rozciągnięcie czcionki = | waga czcionki = | styl czcionki = | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja|zawartość=To jest szablon pomocniczy szablonów:{{s|LinkŚródtytuł}} i {{s|LinkŚródtytułTutaj}}.}}{{Kategoria|Szablony - silniki}}</noinclude> lq0bj19re25cvh6qg4vbietdhhnl7jq 543713 543671 2026-05-21T08:26:04Z Persino 2851 543713 wikitext text/x-wiki <includeonly>{{#ifeq:{{#invoke:StronicowyParser|formatowanie}}|tak|<templatestyles src="Szablon:StronaStart/styles.css" />}}{{#invoke:StronicowyParser|NumerŚródtytułu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|LinkŚródtytuł}}} | klasa = {{#if:{{#invoke:StronicowyParser|formatowanie}}|fonty_rodzina_sans fonty_linknagłówek}} | styl = {{Jeśli niepuste|{{{czcionka|}}}|przed lewy=font:|po lewy=;}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rozmiar czcionki|}}}|przed lewy=font-size:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{wysokość linii czcionki|}}}|przed lewy=line-height:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rodzina czcionki|}}}|przed lewy=font-family:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{wariant czcionki|}}}|przed lewy=font-variant:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{rozciągnięcie czcionki|}}}|przed lewy=font-stretch:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{waga czcionki|}}}|przed lewy=font-weight:|po lewy=;}}}}{{#if:{{{czcionka|}}}||{{Jeśli niepuste|{{{styl czcionki|}}}|przed lewy=font-style:|po lewy=;}}}} }}{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|{{{nazwa szablonu|LinkŚródtytuł}}}}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | czcionka = | rozmiar czcionki = | wysokość linii czcionki = | rodzina czcionki = | wariant czcionki = | rozciągnięcie czcionki = | waga czcionki = | styl czcionki = | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja|zawartość=To jest szablon pomocniczy szablonów:{{s|LinkŚródtytuł}} i {{s|LinkŚródtytułTutaj}}.}}{{Kategoria|Szablony - silniki}}</noinclude> roelw8yoftcjk2ttleponuz9j7c1a4x Moduł:StronicowyParser/Potrzebne 828 58155 543662 543349 2026-05-21T04:57:53Z Persino 2851 543662 Scribunto text/plain local p={}; function p.LiczonyHNumer() local tab={}; local h_numer_zapamietane=nil; --local ostatnie_poprz=nil; return function(h_numer,h_numer_nowe) if(h_numer==0)then if(#tab>0)then local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); return ostatnie_poprz; end; return nil; elseif(h_numer<0)then h_numer=math.abs(h_numer); end; local ostatnie;---=tab[h_numer]; local max_h_numer=nil;local min_h_numer=nil; local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true; for i=#tab,1,-1 do ---- local h_numer_pos,ostatnie_pos=unpack(tab[i]); if(ostatnie_ost_prawda)then if(h_numer_pos==h_numer)then ostatnie_ost=ostatnie_pos; break; end; ostatnie_ost_prawda=nil; end; ---- if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then if((h_numer_pos or 0)<=(max_h_numer or h_numer))then ostatnie_max=ostatnie_pos; max_h_numer=h_numer_pos; end; end; end; if(ostatnie_ost)then ostatnie=ostatnie_ost; else ostatnie=(ostatnie_max or 0)+1; end; local h_numer_poprz,ostatnie_poprz=nil,nil; if(#tab>0)then h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); end; if(ostatnie>(ostatnie_poprz or 0)+1)then ostatnie=(ostatnie_poprz or 0)+1; end; table.insert(tab,{h_numer,ostatnie,}); if(h_numer_nowe)then local roznica=h_numer_nowe-ostatnie; if(roznica==0)then return ostatnie; end; local tab2={}; for i,tabs in pairs(tab)do local name,value=unpack(tabs); tab2[i]={name,value+roznica,}; end; tab=tab2; return h_numer_nowe; end; return ostatnie; end; end; function p.PoziomAdresu(adres) local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; end; return i; end; function p.NazwaNadStrony(adres,numer) if((numer)and(numer==0))then return nil;end; if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end; local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; if(i==numer)then return mw.ustring.sub(adres,1,p-1); end; end; return adres; end; function p.SubNazwaNadStrony(adres,numer,krok) if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end; krok=krok or 1; if((krok<1)or(krok~=math.floor(krok)))then return adres;end; local lens=#adres; local i=1; local a=nil;local b=nil; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; if(i==numer)then if(not a)then a=p+1;end; end; if(i==numer+krok)then if(not b)then b=p-1;break;end; end; end; end; if(not a)then a=1;end; if(not b)then b=lens;end; return mw.ustring.sub(adres,a,b); end; function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"]; local nazwa_jednostki=self.args["nazwa jednostki"]; if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then local html_modul=require("Module:Html"); if(nazwa_jednostki)then local tabela_nazw_adresu={}; self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]()); local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]()); local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true); pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki); --- local techniczne_modul=require("Module:Techniczne"); local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,}; pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki); local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki); if(strona)then pelna_nazwa_jednostki=strona;end; local nazwy_modul=require("Module:Nazwy"); self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki); self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki); self.parametry_woluminu=false; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu]; if(not tab_lista_artykulow_w_ksiazce)then return; end; local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy; if(oryginalna_ksiazka)then self.nazwa_przestrzeni=oryginalna_ksiazka[1]; self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2]; self.nazwa_woluminu=oryginalna_ksiazka[3]; end; else local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self.parametry_woluminu=true; end; end; function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local self_tab; if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then if(not tabela_listy_danych_analizy_ksiazki)then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki; local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki; local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; end; end; if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return nil,nil,nil,nil,nil; end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]] end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)]; if(not tab_lista_artykulow_w_ksiazce)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil; end; local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; function p.AnalizujArgumentySzablonu(self,frame) local parametry_modul=require("Module:Parametry"); self.args=parametry_modul.PobierzArgsParametry(frame,true); end; function p.Args(self) return self.args; end; function p.Self(self,tabela_listy_danych_analizy_ksiazki) local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local self_tab={}; self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu_podana=self.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu; return self_tab,tabela_listy_danych_analizy_ksiazki; end; function p.KompletnaNazwaWoluminu(self,frame) return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu end; function p.NazwaPodStronyWoluminu(self,frame) return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or ""); end; function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana) local stronicowyparser_modul=require("Module:StronicowyParser"); local nazwy_modul=require("Module:Nazwy"); local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie; local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil; local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul; return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~="")) and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul) or artykul; end; function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki) p:AnalizujArgumentySzablonu(frame); p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local tab_naglowkow={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then table.insert(tab_naglowkow,rozdzial); end; end; self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow; return tab_naglowkow; end; function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu-2); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2]; return artykul; end; function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1]; return artykul; end; function p.PierwszyNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[1]; end; function p.OstatniNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)]; end; function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); return self.len_pomiedzy_napisu_wprowadzenia_tekstu; end; function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame) local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame); local parametry_modul=require("Module:Parametry"); return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow); end; function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly) p:AnalizujArgumentySzablonu(frame); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; if(not tab_lista_artykulow_w_ksiazce_spis)then p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu; inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy; dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local args=p:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykulow=(not czy_naglowek) and {} or nil; local tab_listy_artykulow={}; local tab_listy_artykulow_spis={}; local czy_inne_spisy=false; local html_modul=require("Module:Html"); local nazwa_tabeli_danego_spisu_tresci=args["spis"]; if(nazwa_tabeli_danego_spisu_tresci)then local techniczne_modul=require("Module:Techniczne"); nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true); nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci); nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",}; nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,""); local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame) local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci; local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu); if(strona)then local nazwy_modul=require("Module:Nazwy"); nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona); end; end; local czy_dany_spis=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local poziom_rozdzialu=tab_lista[1][2][1]; local nazwa_spisu=nil; if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then local spis=tab_lista[1]["spis"]; nazwa_spisu=spis and spis[1] or nil; ---- if(not nazwa_tabeli_danego_spisu_tresci)then if(nazwa_spisu)then if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end; local spis_artykulow=tab_listy_artykulow["spis"]; spis_artykulow[nazwa_spisu]={}; tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu]; czy_inne_spisy=true; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then tab_listy_artykulow["dodatkowe"]={}; tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"]; czy_inne_spisy=true; end; end; else if(nazwa_spisu)then if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then czy_dany_spis=true; else if(czy_dany_spis)then czy_dany_spis=nil; break; else czy_dany_spis=nil; end; end; end; end; end; if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then local pomin_pozycje=true; for _,artykul_w_bazie in ipairs(tab_lista[2])do if((not pomin_pozycje)or(not nazwa_spisu))then local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; ---- artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek); ---- if(czy_naglowek or (not tab_artykulow[artykul]))then if(not czy_naglowek)then tab_artykulow[artykul]=true;end; local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil; local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil; local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil; table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; else pomin_pozycje=false; end; end; end; end; local stronicowyparser_modul=require("Module:StronicowyParser"); local parametry_modul=require("Module:Parametry"); --local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly; if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy))) and((not dodatkowe_artykuly) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly))) ))then local tablica_spisu_glownego; if(not nazwa_tabeli_danego_spisu_tresci)then if(czy_inne_spisy)then local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {}; tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci]; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego); return function() local wartosc=iter_glowny(); if(not wartosc)then return nil;end; local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil); local nazwa=czy_table_wartosc and wartosc[2] or nil; local przekierowanie=czy_table_wartosc and wartosc[3] or nil; local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; local wykorzystane_spisy={}; local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {}); local czy_dodatkowe_zaanalizowane=false; local function IteratorMain(wartosc,numer) ---- local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[wartosc]; if(tabela_spisu)then if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then tabela_spisu=nil; else wykorzystane_spisy[wartosc]=true; end; end; local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); ---- local tak=nil; local iter2=nil; local function Iterator() local function IterMain() local wartosc=iter(); local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; if(not wartosc)then if(numer~=0)then return nil; else local function InneSpisy() --if(aa<10)then return nil;end; local spis=iter_innych_spisow(); if(not spis)then if(czy_dodatkowe_zaanalizowane)then return nil;end; local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"]; if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end; iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {}); czy_dodatkowe_zaanalizowane=true; wartosc=iter(); return true; end; local czy_table_spis=parametry_modul.TypeTable(spis); local spis_artykul=czy_table_spis and spis[1] or spis; if(not wykorzystane_spisy[spis_artykul])then wykorzystane_spisy[spis_artykul]=true; local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[spis_artykul]; if(tabela_spisu)then iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); wartosc=iter(); if(not wartosc)then return InneSpisy(); end; else return InneSpisy(); end; else return InneSpisy(); end; return true; end; local koniec=InneSpisy(); if(not koniec)then return nil;end; end; end; ---- local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc); nazwa=czy_table_wartosc and wartosc[2] or nil; przekierowanie=czy_table_wartosc and wartosc[3] or nil; pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; ---- artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul); ---- tak=true; iter2=IteratorMain(artykul,numer+1); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; if(not tak)then local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2(); if(not artykul)then tak=nil; local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; end; return Iterator; end; local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0); end; function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac) local frame=mw.getCurrentFrame(); local nazwy_modul=require("Module:Nazwy"); local techniczne_modul=require("Module:Techniczne"); local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly); for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do if(pelna_nazwa_ksiazki)then if(co_ma_wykrywac)then if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then local czy_przekierowanie=pelna_nazwa_ksiazki[6]; if(czy_przekierowanie)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(pelna_nazwa_ksiazki[5])then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; end; else if((nazwa_artykulu==przekierowanie))then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,2; end; end; else local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,}; if(ile>0)then return nazwa_artykulu,3; else return nazwa_artykulu,4; end; end; end; end; else if(not co_ma_wykrywac)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(przekierowanie)then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return przekierowanie,2; end; end; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return nazwa_artykulu,3; end; end; end; end; end; end; function p.ObliczeniaInformacje(self,frame) local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return nil;end; ---- self.tab_artykul={}; ---- for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; self.len_tab_artykul=#self.tab_artykul; return true; end; function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer) if(numer==0)then return tablica,0;end; local s=0; for i=#tablica,1,-1 do local artykul=tablica[i][1]; local numer_artykulu_w_bazie=p.PoziomAdresu(artykul); if(numer~=numer_artykulu_w_bazie)then table.remove(tablica,i); s=s+1; end; end; return tablica,s; end; function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2); local artykul=tab_artykul[reszta_pomiedzy_artykul+2]; return artykul; end; function p.LosowaStronaWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul); local artykul=tab_artykul[reszta_pomiedzy_artykul+1]; return artykul; end; function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local szablonowe_modul=require("Module:Szablonowe"); local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow)) or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow)) )then return nil,false; end; local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true); if(not czy_powodzenie)then return nil,false; end; nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu; return nazwa_szablonu,true; end; nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; return nazwa_szablonu; end; function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow) if(lista_elementow_spisu_tresci==nil)then return nil;end; local twor_listy=""; local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2]; local poziom=1; local num={}; local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or ""; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}"); local adres=element_w_tablicy[1][1]; local naglowek=element_w_tablicy[1][2]; local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil); if(czy_w_tym_szablony)then local specjalne_modul=require("Module:Specjalne"); adres=specjalne_modul["PrzetwórzNagłówek"](adres,true); naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false); end; adres=nazwa_strony_z_naglowkami.."#"..adres; ---- if(licznik==1)then num[#num+1]=1; twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; else if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then num[#num]=num[#num]+1; twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then num[#num+1]=1; poziom=poziom+1; twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then local num_length=#num; for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do table.remove(num); end; num[#num]=num[#num]+1; local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2]; poziom=poziom-roznica_poziomow; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">' .."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; end; end; end; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0); return twor_listy; end; function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij) local frame=frame or mw.getCurrentFrame(); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local bez_przypisow=PobierzParametr("bez przypisów"); bez_przypisow=parametry_modul.CzyTak(bez_przypisow); local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow); local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka); if(not toc_czy_tocramka)then local czy_ukryte=twor_listy; local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu"; local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem"; local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%"; local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści"; local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x); local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu); local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego); local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki); local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami); local maxwidth=PobierzParametr("max-width"); local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil; local klasa=PobierzParametr("klasa"); twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>"; local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|tytuł=<div class="tytuł_spisu_treści" style="text-align:left;font-size:1em;background-color:white;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;">'..spis_tresci..'</div>|spis='..twor_listy..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}'; local rozwiniety_wikikod=frame:preprocess(wikikod_menu); return rozwiniety_wikikod; else return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or ""); end; end; function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2) if(obiekt~="SZABLON")then return;end; --uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+",""); --local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu]; ---- local szablonowe_modul=require("Module:Szablonowe"); ---- local function GlownaFunkcja(wywolanie,obiekt,kod) local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) __Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie); if(__Funkcja2)then __Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu); end; end); end; GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod); end; function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then if(not czy_naglowek)then return artykul[1]; else return artykul; end; end; return artykul; end; function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul) local parametry_modul=require("Module:Parametry"); local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul); if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end; return czy_table_baza_artykulu; end; function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end; return tab_artykulu; end; function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end; return tab_artykulu; end; function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony) local parametry_modul=require("Module:Parametry"); parametry=parametry_modul.CzyTak(parametry) and parametry or nil; naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil; return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony; end; function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link) local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_artykul))then if(pomin_link or tab_artykul["LINK"])then local nazwa_artykulu_strony=tab_artykul[1]; if(naglowek)then local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or ""); else return nazwa_artykulu_strony; end; else return tab_artykul; end; else return tab_artykul; end; end; function p.DekodowanieTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,czy_nie_odstepy) if(not tekst)then return tekst;end; local szablonowe_modul=require("Module:Szablonowe"); tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local html_modul=require("Module:Html"); tekst=html_modul.DecodeHtml(tekst,true,nil,nil,czy_nie_odstepy); return tekst; end; function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory) ---- local szablonowe_modul=require("Module:Szablonowe"); local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu()); if(not czy_kodowanie)then return nil,true;end; if(not czy_uwzgledniac_modyfikatory)then local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:"); if(czy_modyfikatory)then return nil,false;end; end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu; local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; --- local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza; local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; --- local techniczne_modul=require("Module:Techniczne"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((tab_szablony[nazwa_szablonu]) or(tab_naglowki[nazwa_szablonu]) or(tab_tekst[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) or(tab_szablony_strona_zbiorcza[nazwa_szablonu]) or(tab_szablony_strona_start[nazwa_szablonu]) )then return nil;end; for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua) or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/")) )then return nil; end; end; return true; end); return wynik; end; return true; end); local frame=mw.getCurrentFrame(); nazwa_szablonu=frame:preprocess(nazwa_szablonu); return nazwa_szablonu,true; end; function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu) local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja; if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end; local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu]; if(nazwa_linku)then return nazwa_linku,true;end; local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja; local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then prze=litery_przestrzeni_kolidacja[prze] or prze; local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(przez_literowa)then local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa; return nazwa,true; end; if(ustep=="")then if(prze=="u")then return "LinkUstęp"..dwa,true;end; if(prze=="o")then return "LinkOgólne"..dwa,true;end; end; else local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze]; if(projektowe_literowe)then ustep=litery_przestrzeni_kolidacja[ustep] or ustep; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..dwa,true; end; end; end; return nazwa_szablonu,false; else local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt]; if(projektowe_literowe)then prze=litery_przestrzeni_kolidacja[prze] or prze; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true; end; end; end; end; return nazwa_szablonu,false; end; end; function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku; end; end; end; nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa; local function AnalizaSzablonowaLinku() local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$"); if(not nazwa)then return;end; if(dwa=="")then dwa=nil;else dwa=true;end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); ---- local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne; local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu; local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe; ---- local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$") nazwa=nazwa_nowa or nazwa; local czy_ustep=ustep_nowa and true or false; local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$"); if(przestrzen)then local przestrzenne=tab_przestrzen[przestrzen]; if(przestrzenne)then return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,}; end; end; ---- local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$"); if(jezyk and przestrzen)then local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen]; if(jezykowe and przestrzenne)then return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,}; end; ---- local projektowe=tab_projektowe[jezyk]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,}; end; end; ----- local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$"); if(jezyk and projekt and przestrzen)then local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen] if(jezykowe and projektowe and przestrzenne)then return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,} end; local projektowe=tab_projektowe[jezyk..projekt]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,}; end; end; return nil; end; local wynik=AnalizaSzablonowaLinku(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik; end; return wynik; end; function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; --local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); --local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne; local nazwa_zamiast_linku; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="Sekcja referencyjna")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2]; if(nazwa)then return nazwa;end; local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1]; local parametry_modul=require("Module:Parametry"); local czy_strona=parametry_modul.CzyTak(strona) and true or false; if(not czy_strona)then local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](); end; local ustep=tabela_parametrow_szablonu["ustęp"]; local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna"); local czy_ustep=parametry_modul.CzyTak(ustep); if(not czy_strona)then czy_ustep=not czy_ustep;end; nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep); elseif(nazwa_szablonu=="Link wewnętrzny")then nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "") elseif(nazwa_szablonu=="LinkOgólne")then nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1]; elseif(nazwa_szablonu=="SpisTreści")then local nazwa=(tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[3] or tabela_parametrow_szablonu["artykuł"] or tabela_parametrow_szablonu[1]); if(nazwa)then local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4]; if(dodatek)then dodatek=" "..dodatek;else dodatek="";end; nazwa_zamiast_linku=nazwa..dodatek; end; elseif(nazwa_szablonu=="LinkURL")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"]; if(nazwa)then nazwa_zamiast_linku=nazwa; else local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"]; nazwa_zamiast_linku=strona; end; end; if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku; end; end; return nazwa_zamiast_linku; end; function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy; local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tab_spis)then local czy_true=tab_spis[1]; local parametr;local numer; if(czy_true)then parametr=tabela_parametrow_szablonu[tab_spis.numer_link]; else parametr=tabela_parametrow_szablonu[tab_spis.link]; local numer=tabela_parametrow_szablonu[tab_spis.numer]; parametr=(parametr and numer)and (numer.." "..parametr) or (parametr); end; if((parametr)and(parametr~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr; end; end; return parametr; end; return nil; end; function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych) local numer; if((obiekt)and(kod))then if(obiekt=="SZABLON")then numer=-2; elseif(obiekt=="LINKW")then numer=-3; elseif(obiekt=="LINKZ")then numer=-4; end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5]; end; end; end; end; local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); if((obiekt)and(kod))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,}; end; end; return local1,local2,local3,local4,local5; end; function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych) ---- local parametry_modul=require("Module:Parametry"); local wiki_modul=require("Module:Wiki"); local pozycja_artykulu=nil;local nazwa=nil; local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci); if(not czy_tabela_do_parsowania_artykulu)then pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$"); if(not((pozycja_artykulu)and(nazwa)))then pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$"); end; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy") local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci); local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]]) ---- --local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true); --local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true); ---- strona=html_modul["NazwaStronyAdresu"](strona,true); strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",}; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,}; ---- local tabela_nazw_strona={}; local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona); local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona); --if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and --[[else]] if(tab_nazwa_spisow_przekierowaniowych)then local techniczne_modul=require("Module:Techniczne"); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona); local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie) local tabela_nazw_przekierowanie={}; ---- local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony)); ---- local tabela_nazw_adresu_przekierowania={}; local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); ---- if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki)))); if(czy_inne_ksiazka)then if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true; end; end; return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,}; else if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,}; else return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; end; end; if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,nil,true); else if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]) and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},}; end; local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,""); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki); if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,true,false); end; end; end; if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry,naglowek,}; end return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; --- local pudelko_modul=require("Module:Pudełko"); local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"](); local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"](); local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then ---- pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil) parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); ---- local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local tabela_nazw_adresu_artykulu={}; parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); ---- local czy_pozycja_artykulu=pozycja_artykulu; local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else local nazwy_modul=require("Module:Nazwy"); --local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,}; strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni_strony==nazwy_np_modul.Main) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni_strony==nazwy_np_modul.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; elseif( czy_link or parametry_modul.CzyTak(klucz_projektu) or parametry_modul.CzyTak(kod_jezyka) or parametry_modul.CzyTak(kod_projektu) or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File)) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; else local pozycja_artykulu_stara=pozycja_artykulu; local pudelko_modul=require("Module:Pudełko"); local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"](); local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"](); local wiki_modul=require("Module:Wiki"); local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu); pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local nazwa_strony_linku; local uzyskana_nazwa_strony_linku; if(czy_nie_dwukropek)then nazwa_strony_linku=pozycja_artykulu; else local kod_jezyka_poczatkowy, kod_projektu_poczatkowy; nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy); uzyskana_nazwa_strony_linku=nazwa_strony_linku; end; ---- parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw_artykul={}; local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); local nazwa_kanoniczna_przestrzeni; local biezaca_wiki; if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,}; else biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki; end; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(biezaca_wiki)then local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false; if(nazwa_przestrzeni)then if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni==nazwy_np_modul.User) )then local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; elseif( czy_link or (nazwa_strony_linku~=pozycja_artykulu) or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File)) )then nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul) return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}; if(nazwa_kanoniczna_przestrzeni)then if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; --- local czy_pozycja_artykulu=nil; if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$"); if(link_szablon)then local szablonowe_modul=require("Module:Szablonowe"); return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="SpisTreści")then pozycja_artykulu=tabela_parametrow_szablonu[1]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; ------ pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); ------ return {pozycja_artykulu,nil},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; elseif(nazwa_szablonu=="Sekcja referencyjna")then local strona=tabela_parametrow_szablonu[1] or tabela_parametrow_szablonu["strona"]; --if(not strona)then -- return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; --end; local podstrona=tabela_parametrow_szablonu[3] or tabela_parametrow_szablonu["podstrona"]; local pozycja_artykulu; if(not podstrona)then local nazwy_modul=require("Module:Nazwy"); pozycja_artykulu=strona or ""; else pozycja_artykulu=(((podstrona) and (podstrona~="")) and (podstrona..(((strona)and(not mw.ustring.match(strona,"^#"))) and "/" or "")) or "")..(strona or ""); end; local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2]; ------ pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_ref=html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu); local naglowek_ref=html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu); ---- local pozycja_artykulu_ref=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu); ------ return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu_ref,parametry_ref,naglowek_ref),nazwa},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else if(nazwa_szablonu=="Link wewnętrzny")then local pozycja_artykulu=tabela_parametrow_szablonu["strona"]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa=tabela_parametrow_szablonu["nazwa"]; local naglowek=tabela_parametrow_szablonu["nagłówek"]; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka']; local kod_projektu=tabela_parametrow_szablonu["kod projektu"]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$"); if(nazwa_szablonu_nowa)then local pozycja_artykul; local strona=tabela_parametrow_szablonu[1]; if(not strona)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local czy_dwa=(dwa~="")and true or false; local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"] or tabela_parametrow_szablonu["przestrzeń"] or tabela_parametrow_szablonu["m"]; if(miano_przestrzeni_nazw)then pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona; else pozycja_artykulu=strona; end; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true); if(dane_szablonu_linku)then local pozycja_artykulu=tabela_parametrow_szablonu[1]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa_przestrzeni=dane_szablonu_linku[1]; local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1]; local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil; local klucz_projektu;local kod_jezyka;local kod_projektu; if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; else kod_jezyka=dane_szablonu_linku[3]; kod_projektu=dane_szablonu_linku[2]; end; local czy_nie_dwukropek; if(nazwa_przestrzeni=="")then czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then czy_nie_dwukropek=true; else czy_nie_dwukropek=false; end; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow); elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true; end; end; end; end; end); else local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$"); if(nazwa_strony)then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false; else local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$"); if((nazwa_strony)and(nazwa_linku))then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false; end; end; end; elseif(not czy_tabela_do_parsowania_artykulu)then local specjalne_modul=require("Module:Specjalne"); if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then return nil,nil,false,nil,true; end; local parametry_modul=require("Module:Parametry"); --pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",}); local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$"); if(czy_pozycja_artykulu)then if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil); else pozycja_artykulu=nil; return {pozycja_artykulu,nazwa},1,false,nil,false; end; else local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil); end; else local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1]; local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil); end; end; return p; 0jcwmpzpql5gx0cjpvzvz2qdj9kxwzu Moduł:StronicowyParser/StronaSubst 828 58521 543533 543505 2026-05-20T12:20:45Z Persino 2851 543533 Scribunto text/plain local p={}; function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local nazwy_modul=require("Module:Nazwy"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if((pelnanazwastrony) or ((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu)))then local args_nowe; if(not pelnanazwastrony)then args_nowe={ ["nazwa przestrzeni nazw"]=nil, ["nazwa jednostki"]=nil, }; else args_nowe={ ["nazwa przestrzeni nazw"]="", ["nazwa jednostki"]=pelnanazwastrony, }; end; if((not tab_lista_artykulow_w_ksiazce_spis)or(pelnanazwastrony))then stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki,false); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(tabela_listy_danych_analizy_ksiazki); nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni_podana; nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu_podana; nazwa_ksiazki=self_zmienna.nazwa_woluminu_podana; nazwa_artykulu=self_zmienna.nazwa_podstrony_woluminu_podana; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; end; else local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args={}},tabela_listy_danych_analizy_ksiazki,false,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; end; local parametry_modul=require("Module:Parametry"); if(tab_lista_artykulow_w_ksiazce_spis)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or((nazwa_przestrzeni==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^Brudnopis/([^/]+)$"))) or((nazwa_przestrzeni==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))))then ----- local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie=artykul_w_bazie_element[1]; local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie); artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie; local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie); if(not tab_artykul[artykul_bez_naglowka_w_bazie])then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; end; end; end; --local ksiazka=mw.ustring.match(nazwa_ksiazki,"([^/]+)$"); if( ((nazwa_artykulu~="Wersja do druku")and(nazwa_ksiazki~=nazwa_artykulu)) and(tab_artykul[nazwa_artykulu]) )then return NieFun(nil); end; ----- if((nazwa_artykulu~="Spis treści")and(nazwa_artykulu~="Spis rzeczy")and(nazwa_artykulu~="Bibliografia")and(nazwa_artykulu~="Licencja"))then if((nazwa_ksiazki==nazwa_artykulu)or(nazwa_artykulu=="Wersja do druku"))then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); else local function StronaRozdzial() for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; if(rozdzial==nazwa_artykulu)then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; return; end; if(not FunRozdzial)then local val=StronaRozdzial(); if(val)then return val;end; else local val=FunRozdzial(tab_lista_artykulow_w_ksiazce_spis,nazwa_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(val)then return val;end; end; end; end; end; end return NieFun(nil); end; function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local nazwy_modul=require("Module:Nazwy"); local toc_nowe={}; local tab_powtarzane={}; local function Powtarzane(rozdzial) local b=1; for i=1,#tab_powtarzane,1 do if(tab_powtarzane[i]==rozdzial)then b=b+1; end; end; tab_powtarzane[#tab_powtarzane+1]=rozdzial; return b; end; local function CzyStronaSubst() if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; end; local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst) local szablonowe_modul=require("Module:Szablonowe"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony); for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then szablon=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(nazwa_szablonu=="StronaSubst")then return StronaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; if(nazwa_szablonu=="KsiążkaSubst")then return KsiazkaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; end); end; end; end; local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local str="<div style=\"display:block;\" class=\"rozdział_książki\">\n"; local parametry_modul=require("Module:Parametry"); local czy_link=parametry_modul.CzyTak(link); local adres=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..strona if(not czy_link)then str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(naglowek_strony,p); else local linki_modul=require("Module:Linki"); local str_link=linki_modul["Link wewnętrzny"]{ ["strona"]=adres, ["nazwa"]=naglowek_strony, }; str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(str_link,p); end; if(postep)then str=str.."<div class=\"postęp_ładowania_artykułu\"><div class=\"pasek_postępu\"></div> <span style=\"color:blue\">Ładuję artykuł...</span></div>"; end; str=str.."<div class=\"strona_subst\" style=\"display:"..((not postep)and "block" or "none")..";\">"..((not czy_link) and (adres) or "").."</div>\n"; str=str.."</div>"; return str; end; local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(strona,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local nazwa_strony=strona[1]; local czy_table_strona=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(nazwa_strony); local nazwa_strony_parametr=czy_table_strona and nazwa_strony[1] or nazwa_strony; nazwa_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,false); ------- if((nazwa_strony~="Wersja do druku")and(nazwa_ksiazki~=nazwa_strony))then local nazwa_strony_z_naglowkiem=naglowki and stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_strony_parametr,true) or nazwa_strony; local tab_naglowek_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,true); local naglowek; local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_naglowek_strony))then naglowek=parametry_modul["CzyTakCiąg"](tab_naglowek_strony[3]) and tab_naglowek_strony[3] or nil; end; if(not naglowki or not naglowek)then naglowek=mw.ustring.match(nazwa_strony_z_naglowkiem,"/([^/]*)$") or nazwa_strony_z_naglowkiem; end; local liczba_powtarzanego=Powtarzane(naglowek); if((naglowki or (not tablica_stron[nazwa_strony]))and(not sekcje))then if(not naglowki)then tablica_stron[nazwa_strony]=true; end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony_z_naglowkiem,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif((sekcje)and(not tablica_stron[nazwa_strony]))then local specjalne_modul=require("Module:Specjalne"); local function SpisTOC(toc,licznik, element_w_tablicy) local naglowek_rozdzialu=element_w_tablicy[1][2]; local numer_link_naglowek=Powtarzane(naglowek_rozdzialu); local link=nazwa_strony.."#"..element_w_tablicy[1][1]; local poziom_rozdzialu=element_w_tablicy[2]; local poziom_rozdzialu_sekcji=HNumer(poziom_rozdzialu+m_roznica); local id_naglowka,naglowek_rozdzialu=specjalne_modul["PrzetwórzNagłówek"](naglowek_rozdzialu,true,true); table.insert(toc_nowe,{{id_naglowka..((numer_link_naglowek>1) and ("_"..numer_link_naglowek) or ""), naglowek_rozdzialu,}, poziom_rozdzialu_sekcji, }) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(link,naglowek_rozdzialu,nil,poziom_rozdzialu_sekcji,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) tablica_stron[nazwa_strony]=true; wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local nazwa_modulu=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..nazwa_strony; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true); if(tekst_rozwiniety_calego_artykulu)then local szablonowe_modul=require("Module:Szablonowe"); local tablica_obiektow_strony_dany_modul_uzyskany; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_rozwiniety_calego_artykulu); local tablica_obiektow_strony_danych_kodow_specjalnych_modul; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_obiektow_strony_dany_modul_uzyskany); ----- local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(nil,tekst_rozwiniety_calego_artykulu,nazwa_modulu,false,true,nil,nil,nil,nil,nil,nil,tablica_obiektow_strony_dany_modul_uzyskany,nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); if(toc)then local nazwa_strony_naglowka=toc.nazwa_strony; for licznik, element_w_tablicy in ipairs(toc)do SpisTOC(toc,licznik, element_w_tablicy); end; end; end; end; end; return tablica_stron,wikikod,toc_nowe; end; local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy) local m=tab_lista[1][2][1] or 0; local czy_centrowany=false; local czy_srednikowy=false; if(m>0)then local czy_centrowany=tab_lista[1][2][4] or false; if(czy_centrowany)then licznik_rozdzial_dodatni=0; licznik_rozdzial_zerowy=0; licznik_rozdzial_centrowany=2; licznik_rozdzial_srednikowy=0; czy_centrowany=true; else licznik_rozdzial_dodatni=m; licznik_rozdzial_zerowy=0; licznik_rozdzial_srednikowy=0; end; elseif(m==0)then licznik_zerowy_rozdzial=1; else local przedrostek_listy=tab_lista[1][2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then licznik_rozdzial_srednikowy=math.abs(m); licznik_rozdzial_zerowy=0; czy_srednikowy=true; end; end; end; m=(((not czy_centrowany)and(not czy_srednikowy))and(math.abs(m)) or 0)+((m<=0) and (licznik_rozdzial_dodatni+licznik_rozdzial_srednikowy+licznik_rozdzial_zerowy) or 0)+licznik_rozdzial_centrowany; return m; end; local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,strona,liczba_stron_zerowych,liczba_stron_srednikowych) local czy_srednikowy=false; local roznica=(strona[2][1]>0)and strona[2][1] or 0; if(roznica==0)then liczba_stron_zerowych=1; elseif(roznica>0)then local przedrostek_listy=strona[2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then liczba_stron_zerowych=0; liczba_stron_srednikowych=roznica; czy_srednikowy=true; end; end; end; local m_roznica=m+((not czy_srednikowy) and roznica or 0)+liczba_stron_zerowych+liczba_stron_srednikowych; return m_roznica; end; local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(tab_lista[2])then local liczba_stron_zerowych=0; local liczba_stron_srednikowych=0; for _,strona in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,strona,liczba_stron_zerowych,liczba_stron_srednikowych); local m_uzyskane=HNumer(m_roznica); --local PobierzParametr=parametry_modul.PobierzParametr(strona[1]); --local nazwa_strony_parametr=PobierzParametr(1); --local nazwa_strony,_=mw.ustring.gsub(nazwa_strony_parametr,"^([^#]*)(#.*)$","%1"); ---- tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(strona,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ---- end; end; return tablica_stron,wikikod,toc_nowe; end; local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local strona=tabela_parametrow_szablonu[1]; local link=tabela_parametrow_szablonu["link"]; local parametry_modul=require("Module:Parametry"); strona=parametry_modul["Odstępy"]{nazwa=strona,["wewnątrz"]="tak",}; local czy_link=parametry_modul.CzyTak(link); if(czy_artykul_aktualny)then if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"]={}; end; if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona]={}; end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_nazwa_ksiazki[strona])then tablica_nazwa_ksiazki[strona]={}; end; if(tablica_nazwa_ksiazki[strona][(czy_link and "tak" or "")])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); if((strona=="Wersja do druku")or(strona==nazwa_ksiazki))then return "";end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")] )then return glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]; end; local naglowek=mw.ustring.match(strona,"/([^/]*)$") or strona; --end; local liczba_powtarzanego=Powtarzane(naglowek); table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},1,}) local str=StronaSubstParametr(strona,naglowek,link,nil,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; end; return str; end; local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(tablica_nazwa_ksiazki[substrona])then return; end; end; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tablica_stron={}; local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local ktore=tonumber(tabela_parametrow_szablonu["które"]) or 1; local licznik_numer_tego_samego_rozdzialu=1; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then local wikikod=""; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][substrona]=wikikod; end; return wikikod; end; licznik_numer_tego_samego_rozdzialu=licznik_numer_tego_samego_rozdzialu+1; end; end; return ""; end; local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) mw.log(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local wikikod="<div class=\"klasa_książki\">"; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tablica_stron={}; local licznik_rozdzial_dodatni=0; local licznik_rozdzial_zerowy=0; local licznik_rozdzial_centrowany=0; local licznik_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; wikikod=wikikod.."<div class=\"klasa_naglowka klasa_nagłówka\">"; ---- local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy); ---- if((m~=0)and(rozdzial)and(type(rozdzial)=="string")and(rozdzial~="")and(rozdzial~="Spis treści")and(rozdzial~="Bibliografia")and(rozdzial~="Zobacz też")and(rozdzial~="Inne")and(rozdzial~="Licencja") )then local m_uzyskane=HNumer(m); wikikod=((wikikod~="")and (wikikod.."\n") or "")..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(rozdzial,m_uzyskane); local liczba_powtarzanego=Powtarzane(rozdzial); table.insert(toc_nowe,{{mw.ustring.gsub(rozdzial,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), rozdzial,},m_uzyskane,}) end; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); wikikod=wikikod.."</div>"; end; wikikod=wikikod.."</div>"; if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=wikikod; end; return wikikod; end; local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; ---- local szablonowe_modul=require("Module:Szablonowe"); local ksiazkowe_modul=require("Module:Książkowe"); WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local nazwa_przestrzeni;local nazwa_przestrzeni_ksiazki;local nazwa_ksiazki;local nazwa_artykulu; local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then czy_artykul_aktualny=true; local tabela_listy_danych_analizy_ksiazki=glowna_tablica.tabela_listy_danych_analizy_ksiazki; nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; else local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NazwaPrzestrzeni"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); tabela_nazw={}; nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); end; StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local spis_artykulow=nil;local pelnanazwastrony;local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then spis_artykulow=spis; czy_artykul_aktualny=true; else local tabela_nazw={}; pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); end; p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end); CzyStronaSubst(); glowna_tablica.tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza=toc_nowe; return tekst_rozwiniety_calego_artykulu; end; return p; 4mlbmmbvgv37ye02pvv1q4lbfen5g0q 543535 543533 2026-05-20T13:23:13Z Persino 2851 543535 Scribunto text/plain local p={}; function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local nazwy_modul=require("Module:Nazwy"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if((pelnanazwastrony) or ((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu)))then local args_nowe; if(not pelnanazwastrony)then args_nowe={ ["nazwa przestrzeni nazw"]=nil, ["nazwa jednostki"]=nil, }; else args_nowe={ ["nazwa przestrzeni nazw"]="", ["nazwa jednostki"]=pelnanazwastrony, }; end; if((not tab_lista_artykulow_w_ksiazce_spis)or(pelnanazwastrony))then stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki,false); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(tabela_listy_danych_analizy_ksiazki); nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni_podana; nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu_podana; nazwa_ksiazki=self_zmienna.nazwa_woluminu_podana; nazwa_artykulu=self_zmienna.nazwa_podstrony_woluminu_podana; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; end; else local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args={}},tabela_listy_danych_analizy_ksiazki,false,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; end; local parametry_modul=require("Module:Parametry"); if(tab_lista_artykulow_w_ksiazce_spis)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or((nazwa_przestrzeni==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^Brudnopis/([^/]+)$"))) or((nazwa_przestrzeni==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))))then ----- local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie=artykul_w_bazie_element[1]; local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie); artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie; local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie); if(not tab_artykul[artykul_bez_naglowka_w_bazie])then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; end; end; end; --local ksiazka=mw.ustring.match(nazwa_ksiazki,"([^/]+)$"); if( ((nazwa_artykulu~="Wersja do druku")and(nazwa_ksiazki~=nazwa_artykulu)) and(tab_artykul[nazwa_artykulu]) )then return NieFun(nil); end; ----- if((nazwa_artykulu~="Spis treści")and(nazwa_artykulu~="Spis rzeczy")and(nazwa_artykulu~="Bibliografia")and(nazwa_artykulu~="Licencja"))then if((nazwa_ksiazki==nazwa_artykulu)or(nazwa_artykulu=="Wersja do druku"))then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); else local function StronaRozdzial() for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; if(rozdzial==nazwa_artykulu)then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; return; end; if(not FunRozdzial)then local val=StronaRozdzial(); if(val)then return val;end; else local val=FunRozdzial(tab_lista_artykulow_w_ksiazce_spis,nazwa_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(val)then return val;end; end; end; end; end; end return NieFun(nil); end; function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local nazwy_modul=require("Module:Nazwy"); local toc_nowe={}; local tab_powtarzane={}; local function Powtarzane(rozdzial) local b=1; for i=1,#tab_powtarzane,1 do if(tab_powtarzane[i]==rozdzial)then b=b+1; end; end; tab_powtarzane[#tab_powtarzane+1]=rozdzial; return b; end; local function CzyStronaSubst() if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; end; local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst) local szablonowe_modul=require("Module:Szablonowe"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony); for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then szablon=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(nazwa_szablonu=="StronaSubst")then return StronaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; if(nazwa_szablonu=="KsiążkaSubst")then return KsiazkaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; end); end; end; end; local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local str="<div style=\"display:block;\" class=\"rozdział_książki\">\n"; local parametry_modul=require("Module:Parametry"); local czy_link=parametry_modul.CzyTak(link); local adres=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..strona if(not czy_link)then str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(naglowek_strony,p); else local linki_modul=require("Module:Linki"); local str_link=linki_modul["Link wewnętrzny"]{ ["strona"]=adres, ["nazwa"]=naglowek_strony, }; str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(str_link,p); end; if(postep)then str=str.."<div class=\"postęp_ładowania_artykułu\"><div class=\"pasek_postępu\"></div> <span style=\"color:blue\">Ładuję artykuł...</span></div>"; end; str=str.."<div class=\"strona_subst\" style=\"display:"..((not postep)and "block" or "none")..";\">"..((not czy_link) and (adres) or "").."</div>\n"; str=str.."</div>"; return str; end; local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(strona,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local nazwa_strony=strona[1]; local czy_table_strona=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(nazwa_strony); local nazwa_strony_parametr=czy_table_strona and nazwa_strony[1] or nazwa_strony; nazwa_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,false); ------- if((nazwa_strony~="Wersja do druku")and(nazwa_ksiazki~=nazwa_strony))then local nazwa_strony_z_naglowkiem=naglowki and stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_strony_parametr,true) or nazwa_strony; local tab_naglowek_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,true); local naglowek; local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_naglowek_strony))then naglowek=parametry_modul["CzyTakCiąg"](tab_naglowek_strony[3]) and tab_naglowek_strony[3] or nil; end; if(not naglowki or not naglowek)then naglowek=mw.ustring.match(nazwa_strony_z_naglowkiem,"/([^/]*)$") or nazwa_strony_z_naglowkiem; end; local liczba_powtarzanego=Powtarzane(naglowek); if((naglowki or (not tablica_stron[nazwa_strony]))and(not sekcje))then if(not naglowki)then tablica_stron[nazwa_strony]=true; end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony_z_naglowkiem,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif((sekcje)and(not tablica_stron[nazwa_strony]))then local specjalne_modul=require("Module:Specjalne"); local function SpisTOC(toc,licznik, element_w_tablicy) local naglowek_rozdzialu=element_w_tablicy[1][2]; local numer_link_naglowek=Powtarzane(naglowek_rozdzialu); local link=nazwa_strony.."#"..element_w_tablicy[1][1]; local poziom_rozdzialu=element_w_tablicy[2]; local poziom_rozdzialu_sekcji=HNumer(poziom_rozdzialu+m_roznica); local id_naglowka,naglowek_rozdzialu=specjalne_modul["PrzetwórzNagłówek"](naglowek_rozdzialu,true,true); table.insert(toc_nowe,{{id_naglowka..((numer_link_naglowek>1) and ("_"..numer_link_naglowek) or ""), naglowek_rozdzialu,}, poziom_rozdzialu_sekcji, }) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(link,naglowek_rozdzialu,nil,poziom_rozdzialu_sekcji,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) tablica_stron[nazwa_strony]=true; wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local nazwa_modulu=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..nazwa_strony; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true); if(tekst_rozwiniety_calego_artykulu)then local szablonowe_modul=require("Module:Szablonowe"); local tablica_obiektow_strony_dany_modul_uzyskany; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_rozwiniety_calego_artykulu); local tablica_obiektow_strony_danych_kodow_specjalnych_modul; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_obiektow_strony_dany_modul_uzyskany); ----- local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(nil,tekst_rozwiniety_calego_artykulu,nazwa_modulu,false,true,nil,nil,nil,nil,nil,nil,tablica_obiektow_strony_dany_modul_uzyskany,nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); if(toc)then local nazwa_strony_naglowka=toc.nazwa_strony; for licznik, element_w_tablicy in ipairs(toc)do SpisTOC(toc,licznik, element_w_tablicy); end; end; end; end; end; return tablica_stron,wikikod,toc_nowe; end; local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy) local m=tab_lista[1][2][1] or 0; local czy_centrowany=false; local czy_srednikowy=false; if(m>0)then local czy_centrowany=tab_lista[1][2][4] or false; if(czy_centrowany)then licznik_rozdzial_dodatni=0; licznik_rozdzial_zerowy=0; licznik_rozdzial_centrowany=2; licznik_rozdzial_srednikowy=0; czy_centrowany=true; else licznik_rozdzial_dodatni=m; licznik_rozdzial_zerowy=0; licznik_rozdzial_srednikowy=0; end; elseif(m==0)then licznik_zerowy_rozdzial=1; else local przedrostek_listy=tab_lista[1][2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then licznik_rozdzial_srednikowy=math.abs(m); licznik_rozdzial_zerowy=0; czy_srednikowy=true; end; end; end; m=(((not czy_centrowany)and(not czy_srednikowy))and(math.abs(m)) or 0)+((m<=0) and (licznik_rozdzial_dodatni+licznik_rozdzial_srednikowy+licznik_rozdzial_zerowy) or 0)+licznik_rozdzial_centrowany; return m; end; local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony) local czy_srednikowy=false; local roznica=(tabela_parametrowa_strony[2][1]>0)and tabela_parametrowa_strony[2][1] or 0; if(roznica==0)then liczba_poziomu_zerowego_dla_strony=1; elseif(roznica>0)then local przedrostek_listy=tabela_parametrowa_strony[2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then liczba_poziomu_zerowego_dla_strony=0; liczba_poziomu_srednikowego_dla_strony=roznica; czy_srednikowy=true; end; end; end; local m_roznica=m+((not czy_srednikowy) and roznica or 0)+liczba_poziomu_zerowego_dla_strony+liczba_poziomu_srednikowego_dla_strony; return m_roznica; end; local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); local m_uzyskane=HNumer(m_roznica); --local PobierzParametr=parametry_modul.PobierzParametr(tabela_parametrowa_strony[1]); --local nazwa_strony_parametr=PobierzParametr(1); --local nazwa_strony,_=mw.ustring.gsub(nazwa_strony_parametr,"^([^#]*)(#.*)$","%1"); ---- tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ---- end; end; return tablica_stron,wikikod,toc_nowe; end; local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local strona=tabela_parametrow_szablonu[1]; local link=tabela_parametrow_szablonu["link"]; local parametry_modul=require("Module:Parametry"); strona=parametry_modul["Odstępy"]{nazwa=strona,["wewnątrz"]="tak",}; local czy_link=parametry_modul.CzyTak(link); if(czy_artykul_aktualny)then if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"]={}; end; if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona]={}; end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_nazwa_ksiazki[strona])then tablica_nazwa_ksiazki[strona]={}; end; if(tablica_nazwa_ksiazki[strona][(czy_link and "tak" or "")])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); if((strona=="Wersja do druku")or(strona==nazwa_ksiazki))then return "";end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")] )then return glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]; end; local naglowek=mw.ustring.match(strona,"/([^/]*)$") or strona; --end; local liczba_powtarzanego=Powtarzane(naglowek); table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},1,}) local str=StronaSubstParametr(strona,naglowek,link,nil,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; end; return str; end; local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(tablica_nazwa_ksiazki[substrona])then return; end; end; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tablica_stron={}; local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local ktore=tonumber(tabela_parametrow_szablonu["które"]) or 1; local licznik_numer_tego_samego_rozdzialu=1; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then local wikikod=""; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][substrona]=wikikod; end; return wikikod; end; licznik_numer_tego_samego_rozdzialu=licznik_numer_tego_samego_rozdzialu+1; end; end; return ""; end; local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) mw.log(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local wikikod="<div class=\"klasa_książki\">"; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tablica_stron={}; local licznik_rozdzial_dodatni=0; local licznik_rozdzial_zerowy=0; local licznik_rozdzial_centrowany=0; local licznik_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; wikikod=wikikod.."<div class=\"klasa_naglowka klasa_nagłówka\">"; ---- local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy); ---- if((m~=0)and(rozdzial)and(type(rozdzial)=="string")and(rozdzial~="")and(rozdzial~="Spis treści")and(rozdzial~="Bibliografia")and(rozdzial~="Zobacz też")and(rozdzial~="Inne")and(rozdzial~="Licencja") )then local m_uzyskane=HNumer(m); wikikod=((wikikod~="")and (wikikod.."\n") or "")..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(rozdzial,m_uzyskane); local liczba_powtarzanego=Powtarzane(rozdzial); table.insert(toc_nowe,{{mw.ustring.gsub(rozdzial,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), rozdzial,},m_uzyskane,}) end; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); wikikod=wikikod.."</div>"; end; wikikod=wikikod.."</div>"; if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=wikikod; end; return wikikod; end; local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; ---- local szablonowe_modul=require("Module:Szablonowe"); local ksiazkowe_modul=require("Module:Książkowe"); WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local nazwa_przestrzeni;local nazwa_przestrzeni_ksiazki;local nazwa_ksiazki;local nazwa_artykulu; local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then czy_artykul_aktualny=true; local tabela_listy_danych_analizy_ksiazki=glowna_tablica.tabela_listy_danych_analizy_ksiazki; nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; else local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NazwaPrzestrzeni"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); tabela_nazw={}; nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); end; StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local spis_artykulow=nil;local pelnanazwastrony;local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then spis_artykulow=spis; czy_artykul_aktualny=true; else local tabela_nazw={}; pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); end; p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end); CzyStronaSubst(); glowna_tablica.tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza=toc_nowe; return tekst_rozwiniety_calego_artykulu; end; return p; ac25y1s2ov8bftpky2uz4xvqn8yayx3 543539 543535 2026-05-20T13:55:01Z Persino 2851 543539 Scribunto text/plain local p={}; function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local nazwy_modul=require("Module:Nazwy"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if((pelnanazwastrony) or ((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu)))then local args_nowe; if(not pelnanazwastrony)then args_nowe={ ["nazwa przestrzeni nazw"]=nil, ["nazwa jednostki"]=nil, }; else args_nowe={ ["nazwa przestrzeni nazw"]="", ["nazwa jednostki"]=pelnanazwastrony, }; end; if((not tab_lista_artykulow_w_ksiazce_spis)or(pelnanazwastrony))then stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki,false); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(tabela_listy_danych_analizy_ksiazki); nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni_podana; nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu_podana; nazwa_ksiazki=self_zmienna.nazwa_woluminu_podana; nazwa_artykulu=self_zmienna.nazwa_podstrony_woluminu_podana; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; end; else local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args={}},tabela_listy_danych_analizy_ksiazki,false,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; end; local parametry_modul=require("Module:Parametry"); if(tab_lista_artykulow_w_ksiazce_spis)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or((nazwa_przestrzeni==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^Brudnopis/([^/]+)$"))) or((nazwa_przestrzeni==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))))then ----- local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie=artykul_w_bazie_element[1]; local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie); artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie; local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie); if(not tab_artykul[artykul_bez_naglowka_w_bazie])then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; end; end; end; --local ksiazka=mw.ustring.match(nazwa_ksiazki,"([^/]+)$"); if( ((nazwa_artykulu~="Wersja do druku")and(nazwa_ksiazki~=nazwa_artykulu)) and(tab_artykul[nazwa_artykulu]) )then return NieFun(nil); end; ----- if((nazwa_artykulu~="Spis treści")and(nazwa_artykulu~="Spis rzeczy")and(nazwa_artykulu~="Bibliografia")and(nazwa_artykulu~="Licencja"))then if((nazwa_ksiazki==nazwa_artykulu)or(nazwa_artykulu=="Wersja do druku"))then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); else local function StronaRozdzial() for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; if(rozdzial==nazwa_artykulu)then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; return; end; if(not FunRozdzial)then local val=StronaRozdzial(); if(val)then return val;end; else local val=FunRozdzial(tab_lista_artykulow_w_ksiazce_spis,nazwa_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(val)then return val;end; end; end; end; end; end return NieFun(nil); end; function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local nazwy_modul=require("Module:Nazwy"); local toc_nowe={}; local tab_powtarzane={}; local function Powtarzane(rozdzial) local b=1; for i=1,#tab_powtarzane,1 do if(tab_powtarzane[i]==rozdzial)then b=b+1; end; end; tab_powtarzane[#tab_powtarzane+1]=rozdzial; return b; end; local function CzyStronaSubst() if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; end; local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst) local szablonowe_modul=require("Module:Szablonowe"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony); for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then szablon=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(nazwa_szablonu=="StronaSubst")then return StronaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; if(nazwa_szablonu=="KsiążkaSubst")then return KsiazkaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; end); end; end; end; local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local str="<div style=\"display:block;\" class=\"rozdział_książki\">\n"; local parametry_modul=require("Module:Parametry"); local czy_link=parametry_modul.CzyTak(link); local adres=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..strona if(not czy_link)then str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(naglowek_strony,p); else local linki_modul=require("Module:Linki"); local str_link=linki_modul["Link wewnętrzny"]{ ["strona"]=adres, ["nazwa"]=naglowek_strony, }; str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(str_link,p); end; if(postep)then str=str.."<div class=\"postęp_ładowania_artykułu\"><div class=\"pasek_postępu\"></div> <span style=\"color:blue\">Ładuję artykuł...</span></div>"; end; str=str.."<div class=\"strona_subst\" style=\"display:"..((not postep)and "block" or "none")..";\">"..((not czy_link) and (adres) or "").."</div>\n"; str=str.."</div>"; return str; end; local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(strona,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local nazwa_strony=strona[1]; local czy_table_strona=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(nazwa_strony); local nazwa_strony_parametr=czy_table_strona and nazwa_strony[1] or nazwa_strony; nazwa_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,false); ------- if((nazwa_strony~="Wersja do druku")and(nazwa_ksiazki~=nazwa_strony))then local nazwa_strony_z_naglowkiem=naglowki and stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_strony_parametr,true) or nazwa_strony; local tab_naglowek_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,true); local naglowek; local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_naglowek_strony))then naglowek=parametry_modul["CzyTakCiąg"](tab_naglowek_strony[3]) and tab_naglowek_strony[3] or nil; end; if(not naglowki or not naglowek)then naglowek=mw.ustring.match(nazwa_strony_z_naglowkiem,"/([^/]*)$") or nazwa_strony_z_naglowkiem; end; local liczba_powtarzanego=Powtarzane(naglowek); if((naglowki or (not tablica_stron[nazwa_strony]))and(not sekcje))then if(not naglowki)then tablica_stron[nazwa_strony]=true; end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony_z_naglowkiem,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif((sekcje)and(not tablica_stron[nazwa_strony]))then local specjalne_modul=require("Module:Specjalne"); local function SpisTOC(toc,licznik, element_w_tablicy) local naglowek_rozdzialu=element_w_tablicy[1][2]; local numer_link_naglowek=Powtarzane(naglowek_rozdzialu); local link=nazwa_strony.."#"..element_w_tablicy[1][1]; local poziom_rozdzialu=element_w_tablicy[2]; local poziom_rozdzialu_sekcji=HNumer(poziom_rozdzialu+m_roznica); local id_naglowka,naglowek_rozdzialu=specjalne_modul["PrzetwórzNagłówek"](naglowek_rozdzialu,true,true); table.insert(toc_nowe,{{id_naglowka..((numer_link_naglowek>1) and ("_"..numer_link_naglowek) or ""), naglowek_rozdzialu,}, poziom_rozdzialu_sekcji, }) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(link,naglowek_rozdzialu,nil,poziom_rozdzialu_sekcji,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) tablica_stron[nazwa_strony]=true; wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local nazwa_modulu=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..nazwa_strony; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true); if(tekst_rozwiniety_calego_artykulu)then local szablonowe_modul=require("Module:Szablonowe"); local tablica_obiektow_strony_dany_modul_uzyskany; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_rozwiniety_calego_artykulu); local tablica_obiektow_strony_danych_kodow_specjalnych_modul; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_obiektow_strony_dany_modul_uzyskany); ----- local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(nil,tekst_rozwiniety_calego_artykulu,nazwa_modulu,false,true,nil,nil,nil,nil,nil,nil,tablica_obiektow_strony_dany_modul_uzyskany,nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); if(toc)then local nazwa_strony_naglowka=toc.nazwa_strony; for licznik, element_w_tablicy in ipairs(toc)do SpisTOC(toc,licznik, element_w_tablicy); end; end; end; end; end; return tablica_stron,wikikod,toc_nowe; end; local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy) local m=tab_lista[1][2][1] or 0; local czy_centrowany=false; local czy_srednikowy=false; if(m>0)then local czy_centrowany=tab_lista[1][2][4] or false; if(czy_centrowany)then poziom_rozdzial_dodatni=0; poziom_rozdzial_zerowy=0; poziom_rozdzial_centrowany=2; poziom_rozdzial_srednikowy=0; czy_centrowany=true; else poziom_rozdzial_dodatni=m; poziom_rozdzial_zerowy=0; poziom_rozdzial_srednikowy=0; end; elseif(m==0)then licznik_zerowy_rozdzial=1; else local przedrostek_listy=tab_lista[1][2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then poziom_rozdzial_srednikowy=math.abs(m); poziom_rozdzial_zerowy=0; czy_srednikowy=true; end; end; end; m=(((not czy_centrowany)and(not czy_srednikowy))and(math.abs(m)) or 0)+((m<=0) and (poziom_rozdzial_dodatni+poziom_rozdzial_srednikowy+poziom_rozdzial_zerowy) or 0)+poziom_rozdzial_centrowany; return m; end; local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony) local czy_srednikowy=false; local roznica=(tabela_parametrowa_strony[2][1]>0)and tabela_parametrowa_strony[2][1] or 0; if(roznica==0)then liczba_poziomu_zerowego_dla_strony=1; elseif(roznica>0)then local przedrostek_listy=tabela_parametrowa_strony[2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then liczba_poziomu_zerowego_dla_strony=0; liczba_poziomu_srednikowego_dla_strony=roznica; czy_srednikowy=true; end; end; end; local m_roznica=m+((not czy_srednikowy) and roznica or 0)+liczba_poziomu_zerowego_dla_strony+liczba_poziomu_srednikowego_dla_strony; return m_roznica; end; local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); local m_uzyskane=HNumer(m_roznica); --local PobierzParametr=parametry_modul.PobierzParametr(tabela_parametrowa_strony[1]); --local nazwa_strony_parametr=PobierzParametr(1); --local nazwa_strony,_=mw.ustring.gsub(nazwa_strony_parametr,"^([^#]*)(#.*)$","%1"); ---- tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ---- end; end; return tablica_stron,wikikod,toc_nowe; end; local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local strona=tabela_parametrow_szablonu[1]; local link=tabela_parametrow_szablonu["link"]; local parametry_modul=require("Module:Parametry"); strona=parametry_modul["Odstępy"]{nazwa=strona,["wewnątrz"]="tak",}; local czy_link=parametry_modul.CzyTak(link); if(czy_artykul_aktualny)then if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"]={}; end; if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona]={}; end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_nazwa_ksiazki[strona])then tablica_nazwa_ksiazki[strona]={}; end; if(tablica_nazwa_ksiazki[strona][(czy_link and "tak" or "")])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); if((strona=="Wersja do druku")or(strona==nazwa_ksiazki))then return "";end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")] )then return glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]; end; local naglowek=mw.ustring.match(strona,"/([^/]*)$") or strona; --end; local liczba_powtarzanego=Powtarzane(naglowek); table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},1,}) local str=StronaSubstParametr(strona,naglowek,link,nil,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; end; return str; end; local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(tablica_nazwa_ksiazki[substrona])then return; end; end; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tablica_stron={}; local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local ktore=tonumber(tabela_parametrow_szablonu["które"]) or 1; local licznik_numer_tego_samego_rozdzialu=1; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then local wikikod=""; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][substrona]=wikikod; end; return wikikod; end; licznik_numer_tego_samego_rozdzialu=licznik_numer_tego_samego_rozdzialu+1; end; end; return ""; end; local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) mw.log(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local wikikod="<div class=\"klasa_książki\">"; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tablica_stron={}; local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; wikikod=wikikod.."<div class=\"klasa_naglowka klasa_nagłówka\">"; ---- local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ---- if((m~=0)and(rozdzial)and(type(rozdzial)=="string")and(rozdzial~="")and(rozdzial~="Spis treści")and(rozdzial~="Bibliografia")and(rozdzial~="Zobacz też")and(rozdzial~="Inne")and(rozdzial~="Licencja") )then local m_uzyskane=HNumer(m); wikikod=((wikikod~="")and (wikikod.."\n") or "")..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(rozdzial,m_uzyskane); local liczba_powtarzanego=Powtarzane(rozdzial); table.insert(toc_nowe,{{mw.ustring.gsub(rozdzial,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), rozdzial,},m_uzyskane,}) end; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); wikikod=wikikod.."</div>"; end; wikikod=wikikod.."</div>"; if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=wikikod; end; return wikikod; end; local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; ---- local szablonowe_modul=require("Module:Szablonowe"); local ksiazkowe_modul=require("Module:Książkowe"); WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local nazwa_przestrzeni;local nazwa_przestrzeni_ksiazki;local nazwa_ksiazki;local nazwa_artykulu; local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then czy_artykul_aktualny=true; local tabela_listy_danych_analizy_ksiazki=glowna_tablica.tabela_listy_danych_analizy_ksiazki; nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; else local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NazwaPrzestrzeni"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); tabela_nazw={}; nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); end; StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local spis_artykulow=nil;local pelnanazwastrony;local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then spis_artykulow=spis; czy_artykul_aktualny=true; else local tabela_nazw={}; pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); end; p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end); CzyStronaSubst(); glowna_tablica.tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza=toc_nowe; return tekst_rozwiniety_calego_artykulu; end; return p; i9tpv2l5zmm8vaj7oqhsoqp05jv6op3 543542 543539 2026-05-20T14:20:35Z Persino 2851 543542 Scribunto text/plain local p={}; function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local nazwy_modul=require("Module:Nazwy"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if((pelnanazwastrony) or ((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu)))then local args_nowe; if(not pelnanazwastrony)then args_nowe={ ["nazwa przestrzeni nazw"]=nil, ["nazwa jednostki"]=nil, }; else args_nowe={ ["nazwa przestrzeni nazw"]="", ["nazwa jednostki"]=pelnanazwastrony, }; end; if((not tab_lista_artykulow_w_ksiazce_spis)or(pelnanazwastrony))then stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe}; stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki,false); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(tabela_listy_danych_analizy_ksiazki); nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni_podana; nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu_podana; nazwa_ksiazki=self_zmienna.nazwa_woluminu_podana; nazwa_artykulu=self_zmienna.nazwa_podstrony_woluminu_podana; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; end; else local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule; tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args={}},tabela_listy_danych_analizy_ksiazki,false,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not tab_lista_artykulow_w_ksiazce_spis)then --local blad_modul=require("Module:Błąd"); --return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."}; return; end; end; local parametry_modul=require("Module:Parametry"); if(tab_lista_artykulow_w_ksiazce_spis)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or((nazwa_przestrzeni==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^Brudnopis/([^/]+)$"))) or((nazwa_przestrzeni==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))))then ----- local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie=artykul_w_bazie_element[1]; local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie); artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie; local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie); if(not tab_artykul[artykul_bez_naglowka_w_bazie])then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; end; end; end; --local ksiazka=mw.ustring.match(nazwa_ksiazki,"([^/]+)$"); if( ((nazwa_artykulu~="Wersja do druku")and(nazwa_ksiazki~=nazwa_artykulu)) and(tab_artykul[nazwa_artykulu]) )then return NieFun(nil); end; ----- if((nazwa_artykulu~="Spis treści")and(nazwa_artykulu~="Spis rzeczy")and(nazwa_artykulu~="Bibliografia")and(nazwa_artykulu~="Licencja"))then if((nazwa_ksiazki==nazwa_artykulu)or(nazwa_artykulu=="Wersja do druku"))then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); else local function StronaRozdzial() for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; if(rozdzial==nazwa_artykulu)then return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; return; end; if(not FunRozdzial)then local val=StronaRozdzial(); if(val)then return val;end; else local val=FunRozdzial(tab_lista_artykulow_w_ksiazce_spis,nazwa_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(val)then return val;end; end; end; end; end; end return NieFun(nil); end; function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local nazwy_modul=require("Module:Nazwy"); local toc_nowe={}; local tab_powtarzane={}; local function Powtarzane(rozdzial) local b=1; for i=1,#tab_powtarzane,1 do if(tab_powtarzane[i]==rozdzial)then b=b+1; end; end; tab_powtarzane[#tab_powtarzane+1]=rozdzial; return b; end; local function CzyStronaSubst() if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; end; local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst) local szablonowe_modul=require("Module:Szablonowe"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony); for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then szablon=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(nazwa_szablonu=="StronaSubst")then return StronaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; if(nazwa_szablonu=="KsiążkaSubst")then return KsiazkaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end; end); end; end; end; local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local str="<div style=\"display:block;\" class=\"rozdział_książki\">\n"; local parametry_modul=require("Module:Parametry"); local czy_link=parametry_modul.CzyTak(link); local adres=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..strona if(not czy_link)then str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(naglowek_strony,p); else local linki_modul=require("Module:Linki"); local str_link=linki_modul["Link wewnętrzny"]{ ["strona"]=adres, ["nazwa"]=naglowek_strony, }; str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(str_link,p); end; if(postep)then str=str.."<div class=\"postęp_ładowania_artykułu\"><div class=\"pasek_postępu\"></div> <span style=\"color:blue\">Ładuję artykuł...</span></div>"; end; str=str.."<div class=\"strona_subst\" style=\"display:"..((not postep)and "block" or "none")..";\">"..((not czy_link) and (adres) or "").."</div>\n"; str=str.."</div>"; return str; end; local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local tabela_nazw_strony=tabela_parametrowa_strony[1]; local czy_table_nazw_strony=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(tabela_nazw_strony); local tabela_nazw_strony_parametr=czy_table_nazw_strony and tabela_nazw_strony[1] or tabela_nazw_strony; local nazwa_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tabela_nazw_strony_parametr,false); ------- if((nazwa_strony~="Wersja do druku")and(nazwa_ksiazki~=nazwa_strony))then local nazwa_strony_z_naglowkiem=naglowki and stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tabela_nazw_strony_parametr,true) or nazwa_strony; local tab_naglowek_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tabela_nazw_strony_parametr,true); local naglowek; local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_naglowek_strony))then naglowek=parametry_modul["CzyTakCiąg"](tab_naglowek_strony[3]) and tab_naglowek_strony[3] or nil; end; if(not naglowki or not naglowek)then naglowek=mw.ustring.match(nazwa_strony_z_naglowkiem,"/([^/]*)$") or nazwa_strony_z_naglowkiem; end; local liczba_powtarzanego=Powtarzane(naglowek); if((naglowki or (not tablica_stron[nazwa_strony]))and(not sekcje))then if(not naglowki)then tablica_stron[nazwa_strony]=true; end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony_z_naglowkiem,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif((sekcje)and(not tablica_stron[nazwa_strony]))then local specjalne_modul=require("Module:Specjalne"); local function SpisTOC(toc,licznik, element_w_tablicy) local naglowek_rozdzialu=element_w_tablicy[1][2]; local numer_link_naglowek=Powtarzane(naglowek_rozdzialu); local link=nazwa_strony.."#"..element_w_tablicy[1][1]; local poziom_rozdzialu=element_w_tablicy[2]; local poziom_rozdzialu_sekcji=HNumer(poziom_rozdzialu+m_roznica); local id_naglowka,naglowek_rozdzialu=specjalne_modul["PrzetwórzNagłówek"](naglowek_rozdzialu,true,true); table.insert(toc_nowe,{{id_naglowka..((numer_link_naglowek>1) and ("_"..numer_link_naglowek) or ""), naglowek_rozdzialu,}, poziom_rozdzialu_sekcji, }) wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(link,naglowek_rozdzialu,nil,poziom_rozdzialu_sekcji,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,}) tablica_stron[nazwa_strony]=true; wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local nazwa_modulu=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..nazwa_strony; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true); if(tekst_rozwiniety_calego_artykulu)then local szablonowe_modul=require("Module:Szablonowe"); local tablica_obiektow_strony_dany_modul_uzyskany; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_rozwiniety_calego_artykulu); local tablica_obiektow_strony_danych_kodow_specjalnych_modul; tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_obiektow_strony_dany_modul_uzyskany); ----- local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(nil,tekst_rozwiniety_calego_artykulu,nazwa_modulu,false,true,nil,nil,nil,nil,nil,nil,tablica_obiektow_strony_dany_modul_uzyskany,nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true); if(toc)then local nazwa_strony_naglowka=toc.nazwa_strony; for licznik, element_w_tablicy in ipairs(toc)do SpisTOC(toc,licznik, element_w_tablicy); end; end; end; end; end; return tablica_stron,wikikod,toc_nowe; end; local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy) local m=tab_lista[1][2][1] or 0; local czy_centrowany=false; local czy_srednikowy=false; if(m>0)then local czy_centrowany=tab_lista[1][2][4] or false; if(czy_centrowany)then poziom_rozdzial_dodatni=0; poziom_rozdzial_zerowy=0; poziom_rozdzial_centrowany=2; poziom_rozdzial_srednikowy=0; czy_centrowany=true; else poziom_rozdzial_dodatni=m; poziom_rozdzial_zerowy=0; poziom_rozdzial_srednikowy=0; end; elseif(m==0)then licznik_zerowy_rozdzial=1; else local przedrostek_listy=tab_lista[1][2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then poziom_rozdzial_srednikowy=math.abs(m); poziom_rozdzial_zerowy=0; czy_srednikowy=true; end; end; end; m=(((not czy_centrowany)and(not czy_srednikowy))and(math.abs(m)) or 0)+((m<=0) and (poziom_rozdzial_dodatni+poziom_rozdzial_srednikowy+poziom_rozdzial_zerowy) or 0)+poziom_rozdzial_centrowany; return m; end; local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony) local czy_srednikowy=false; local roznica=(tabela_parametrowa_strony[2][1]>0)and tabela_parametrowa_strony[2][1] or 0; if(roznica==0)then liczba_poziomu_zerowego_dla_strony=1; elseif(roznica>0)then local przedrostek_listy=tabela_parametrowa_strony[2][2]; if(przedrostek_listy)then if(mw.ustring.match(przedrostek_listy,"^;+"))then liczba_poziomu_zerowego_dla_strony=0; liczba_poziomu_srednikowego_dla_strony=roznica; czy_srednikowy=true; end; end; end; local m_roznica=m+((not czy_srednikowy) and roznica or 0)+liczba_poziomu_zerowego_dla_strony+liczba_poziomu_srednikowego_dla_strony; return m_roznica; end; local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); local m_uzyskane=HNumer(m_roznica); --local PobierzParametr=parametry_modul.PobierzParametr(tabela_parametrowa_strony[1]); --local nazwa_strony_parametr=PobierzParametr(1); --local nazwa_strony,_=mw.ustring.gsub(nazwa_strony_parametr,"^([^#]*)(#.*)$","%1"); ---- tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ---- end; end; return tablica_stron,wikikod,toc_nowe; end; local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local strona=tabela_parametrow_szablonu[1]; local link=tabela_parametrow_szablonu["link"]; local parametry_modul=require("Module:Parametry"); strona=parametry_modul["Odstępy"]{nazwa=strona,["wewnątrz"]="tak",}; local czy_link=parametry_modul.CzyTak(link); if(czy_artykul_aktualny)then if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"]={}; end; if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona]={}; end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_nazwa_ksiazki[strona])then tablica_nazwa_ksiazki[strona]={}; end; if(tablica_nazwa_ksiazki[strona][(czy_link and "tak" or "")])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); if((strona=="Wersja do druku")or(strona==nazwa_ksiazki))then return "";end; if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona] and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")] )then return glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]; end; local naglowek=mw.ustring.match(strona,"/([^/]*)$") or strona; --end; local liczba_powtarzanego=Powtarzane(naglowek); table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},1,}) local str=StronaSubstParametr(strona,naglowek,link,nil,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; end; return str; end; local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={}; end; local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]; if(tablica_nazwa_ksiazki[substrona])then return; end; end; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tablica_stron={}; local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local ktore=tonumber(tabela_parametrow_szablonu["które"]) or 1; local licznik_numer_tego_samego_rozdzialu=1; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then local wikikod=""; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][substrona]=wikikod; end; return wikikod; end; licznik_numer_tego_samego_rozdzialu=licznik_numer_tego_samego_rozdzialu+1; end; end; return ""; end; local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) mw.log(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_aktualny)then if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then return; end; else if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]={}; end; local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]; if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then tablica_ksiazkasubstinne[nazwa_przestrzeni]={}; end; local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni]; if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={}; end; local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then return; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]); local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]); local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]); local wikikod="<div class=\"klasa_książki\">"; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tablica_stron={}; local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; wikikod=wikikod.."<div class=\"klasa_naglowka klasa_nagłówka\">"; ---- local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ---- if((m~=0)and(rozdzial)and(type(rozdzial)=="string")and(rozdzial~="")and(rozdzial~="Spis treści")and(rozdzial~="Bibliografia")and(rozdzial~="Zobacz też")and(rozdzial~="Inne")and(rozdzial~="Licencja") )then local m_uzyskane=HNumer(m); wikikod=((wikikod~="")and (wikikod.."\n") or "")..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(rozdzial,m_uzyskane); local liczba_powtarzanego=Powtarzane(rozdzial); table.insert(toc_nowe,{{mw.ustring.gsub(rozdzial,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), rozdzial,},m_uzyskane,}) end; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); wikikod=wikikod.."</div>"; end; wikikod=wikikod.."</div>"; if(czy_artykul_aktualny)then glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod; else glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=wikikod; end; return wikikod; end; local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; ---- local szablonowe_modul=require("Module:Szablonowe"); local ksiazkowe_modul=require("Module:Książkowe"); WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local nazwa_przestrzeni;local nazwa_przestrzeni_ksiazki;local nazwa_ksiazki;local nazwa_artykulu; local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then czy_artykul_aktualny=true; local tabela_listy_danych_analizy_ksiazki=glowna_tablica.tabela_listy_danych_analizy_ksiazki; nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; else local tabela_nazw={}; local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NazwaPrzestrzeni"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); tabela_nazw={}; nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw); nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw); nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw); end; StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; local spis_artykulow=nil;local pelnanazwastrony;local czy_artykul_aktualny; if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then spis_artykulow=spis; czy_artykul_aktualny=true; else local tabela_nazw={}; pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy)); end; p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end); CzyStronaSubst(); glowna_tablica.tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza=toc_nowe; return tekst_rozwiniety_calego_artykulu; end; return p; ffc5dnh8mnwduoejqshj7s6y3r433ok Moduł:StronicowyParser/SpisTreści 828 58945 543714 543203 2026-05-21T09:12:22Z Persino 2851 543714 Scribunto text/plain local p={}; local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow) local parametry_modul=require("Module:Parametry"); local ile=0; for i,tabela_rozdzial_artykulow_i in pairs(tabela_rozdzial_artykulow)do i=parametry_modul.TypeNumber(i) and i or nil; if((i)and(i>1))then ile=ile+#(tabela_rozdzial_artykulow_i or {}); end; end; return ile; end; local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]]) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); --- local numer_rodzaju_artykulu_poprz=numer_rodzaju_artykulu; if(numer_rodzaju_artykulu)then --mw.log(szablon,numer_rodzaju_artykulu,wliczaj_artykuly_tego_rozdzialu) numer_rodzaju_artykulu=(wliczaj_artykuly_tego_rozdzialu)and numer_rodzaju_artykulu or (numer_rodzaju_artykulu+6); end; --- --Rozdzialy początek local znaki_niedozwolone; local function ParametrPierwszy(tab_artykul,czy_niedozwolone) local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; ---- local znaki_niedozwolone; if(czy_niedozwolone)then znaki_niedozwolone=mw.ustring.match(artykul,"[|<>{}%[%]]"); end; ---- --if(artykul)then --artykul=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(artykul,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",} --artykul=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](artykul); --end; ---- --if(parametry)then -- parametry=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(parametry,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) -- parametry=parametry_modul["Odstępy"]{[1]=parametry,[2]="tak",} -- parametry=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](parametry); --end; ---- --if(naglowek)then -- naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); -- naglowek=parametry_modul["Odstępy"]{[1]=naglowek,[2]="tak",} -- naglowek=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](naglowek); --end; ---- tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; return tab_artykul,znaki_niedozwolone,tablica_przekierowania; end; local parametry_modul=require("Module:Parametry"); local szablonowe_modul=require("Module:Szablonowe"); local techniczne_modul=require("Module:Techniczne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local szablony_dozwolone_w_nazwach_linkowych=stronicowyparser_obiekty_modul.szablony_dozwolone_w_nazwach_linkowych; local szablony_rozwijane_przez_javascript_nazwowe_linkowe=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_nazwowe_linkowe; local function RozwijanieNazwy(szablon,obiekt,kod) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_nazwach_linkowych,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(not wynik)then if(szablony_rozwijane_przez_javascript_nazwowe_linkowe[nazwa_szablonu])then local szablon=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szablon,nil,tablica_analizy_obiektow_strony_dany_modul); return szablon; end; elseif(nazwa_szablonu=="Br")then return " "; else return wynik; end; end); if(wynik)then return wynik;end; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="br")then return " "; end; end; return szablon; end; if((numer_rodzaju_artykulu_poprz)and(numer_rodzaju_artykulu_poprz==1)and(tab_pozycja_elementow_w_spisie_rzeczy)and(tab_pozycja_elementow_w_spisie_rzeczy[1]))then local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; local czy_tablica=nil;local tablica_przekierowania=nil; if(tab_pozycja_elementow_w_spisie_rzeczy[1])then czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); if(not czy_tablica)then --tab_pozycja_elementow_w_spisie_rzeczy[1]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[1],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --tab_pozycja_elementow_w_spisie_rzeczy[1]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[1],[2]="tak",} --tab_pozycja_elementow_w_spisie_rzeczy[1]=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tab_pozycja_elementow_w_spisie_rzeczy[1]); znaki_niedozwolone=mw.ustring.match(tab_pozycja_elementow_w_spisie_rzeczy[1],"[|<>{}%[%]]"); tablica_artykulow_zebranych={tab_pozycja_elementow_w_spisie_rzeczy[1],0,false,}; else tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; if(not czy_inna_ksiazka)then czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); else local artykul=tablica_przekierowania[2]; local parametry=tablica_przekierowania[3]; local naglowek=tablica_przekierowania[4]; czy_tablica=(artykul)and(parametry or naglowek); end; if(not czy_tablica)then local aktualny_artykul_ksiazki; if(not czy_inna_ksiazka)then aktualny_artykul_ksiazki=tab_pozycja_elementow_w_spisie_rzeczy[1]; else aktualny_artykul_ksiazki=tablica_przekierowania[2] or (parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1])and tab_pozycja_elementow_w_spisie_rzeczy[1][1] or tab_pozycja_elementow_w_spisie_rzeczy[1]); end; tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; else local aktualny_artykul_ksiazki; if(not czy_inna_ksiazka)then aktualny_artykul_ksiazki=tab_pozycja_elementow_w_spisie_rzeczy[1][1]; else aktualny_artykul_ksiazki=tablica_przekierowania[2] or (parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1])and tab_pozycja_elementow_w_spisie_rzeczy[1][1] or tab_pozycja_elementow_w_spisie_rzeczy[1]); end; if(tablica_artykulow_zebranych[1]~=aktualny_artykul_ksiazki)then tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; else tablica_artykulow_zebranych[3]=true; end; end; end; end; ---- local szablonowe_modul=require("Module:Szablonowe"); ---- if(tab_pozycja_elementow_w_spisie_rzeczy[2])then tab_pozycja_elementow_w_spisie_rzeczy[2]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[2],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return RozwijanieNazwy(szablon,obiekt,kod); end); local specjalne_modul=require("Module:Specjalne"); tab_pozycja_elementow_w_spisie_rzeczy[2]=specjalne_modul["UsuńZnakiSpecjalne"](tab_pozycja_elementow_w_spisie_rzeczy[2]); tab_pozycja_elementow_w_spisie_rzeczy[2]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[2],[2]="tak",[4]="tak",}; end; ---- if(znaki_niedozwolone)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"niedozwolone znaki w spisach treści"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"niedozwolone znaki w spisach treści"); end; end; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); local stara_nazwa_jednostki=nazwa_jednostki; if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; --local linia_artykokow=--[[(not przerwij) and ]]tab_linia[k]--[[ or szablon]]; linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --local przekierowanie=pelna_nazwa_ksiazki..((nazwa_jednostki~="") and ("/"..nazwa_jednostki) or ""); --local strona=techniczne_modul.PrzekierowanieDoStrony(przekierowanie); --local strona=(tablica_przekierowania) local przekierowanie; if(--[[strona--]]tablica_przekierowania)then --nazwa_jednostki=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona); --przekierowanie=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](przekierowanie) przekierowanie=tablica_przekierowania[2]; if((czy_tablica)and(stara_nazwa_jednostki~=""))then przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,} or przekierowanie ) or nil; nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; local czy_w_tab=tablica_artykulow_zebranych[2]; local czy_wsadzac=tablica_artykulow_zebranych[3]; if((not czy_wsadzac)and(czy_w_tab==0)and(tablica_artykulow_zebranych[1]==stara_nazwa_jednostki))then local tab_stare={{stara_nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],tablica_przekierowania and (tablica_przekierowania[2] and przekierowanie or nil) or nil,((tablica_przekierowania)and(tablica_przekierowania[1])) and tablica_przekierowania[1] or nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],true,tab_pozycja_elementow_w_spisie_rzeczy[6],},{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); tablica_artykulow_zebranych[2]=1; end; end; else nazwa_jednostki=tab_pozycja_elementow_w_spisie_rzeczy[1]; if((czy_tablica)and(stara_nazwa_jednostki~=""))then local czy_w_tab=tablica_artykulow_zebranych[2]; local czy_wsadzac=tablica_artykulow_zebranych[3]; if((not czy_wsadzac)and(czy_w_tab==0)and(tablica_artykulow_zebranych[1]==stara_nazwa_jednostki))then local tab_stare={{stara_nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],nil,nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],true,tab_pozycja_elementow_w_spisie_rzeczy[6],},{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); tablica_artykulow_zebranych[2]=1; end; end; end; local ile_dodac_do_poziomu_artykulu=tablica_artykulow_zebranych[2]; local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; local tab_stare={((tab_pozycja_elementow_w_spisie_rzeczy[2] or tablica_przekierowania or tab_pozycja_elementow_w_spisie_rzeczy[5] or tab_pozycja_elementow_w_spisie_rzeczy[6] or ile_dodac_do_poziomu_artykulu_lub_nil) and ({nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],tablica_przekierowania and (tablica_przekierowania[2] and przekierowanie or nil) or nil,((tablica_przekierowania)and(tablica_przekierowania[1])) and tablica_przekierowania[1] or nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],ile_dodac_do_poziomu_artykulu_lub_nil,tab_pozycja_elementow_w_spisie_rzeczy[6],}) or nazwa_jednostki),{#przedrostek_listy--[[+(ile_dodac_do_poziomu_artykulu and ile_dodac_do_poziomu_artykulu or 0)]],przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,(numer_rodzaju_artykulu>1) and (Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)) or nil,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); --mw.logObject(tab_stare,"TYTAN1") __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); --mw.logObject(tabela_rozdzial_artykulow,"TYTAN2") elseif((numer_rodzaju_artykulu_poprz)and(numer_rodzaju_artykulu_poprz>=2)and(tab_pozycja_elementow_w_spisie_rzeczy)and(tab_pozycja_elementow_w_spisie_rzeczy[1]))then if(tab_pozycja_elementow_w_spisie_rzeczy[1])then if(not parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]))then --tab_pozycja_elementow_w_spisie_rzeczy[1]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[1],[2]="tak",}; --tab_pozycja_elementow_w_spisie_rzeczy[1]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[1],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); else tab_pozycja_elementow_w_spisie_rzeczy[1]=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],false); end; end; local szablonowe_modul=require("Module:Szablonowe"); if(tab_pozycja_elementow_w_spisie_rzeczy[2])then tab_pozycja_elementow_w_spisie_rzeczy[2]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[2],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) return RozwijanieNazwy(szablon,obiekt,kod); end); local specjalne_modul=require("Module:Specjalne"); tab_pozycja_elementow_w_spisie_rzeczy[2]=specjalne_modul["UsuńZnakiSpecjalne"](tab_pozycja_elementow_w_spisie_rzeczy[2]); tab_pozycja_elementow_w_spisie_rzeczy[2]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[2],[2]="tak",[4]="tak",}; end; if(tab_pozycja_elementow_w_spisie_rzeczy[3])then tab_pozycja_elementow_w_spisie_rzeczy[3]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[3],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); tab_pozycja_elementow_w_spisie_rzeczy[3]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[3],[2]="tak",[4]="tak",}; end; if(tab_pozycja_elementow_w_spisie_rzeczy[4])then tab_pozycja_elementow_w_spisie_rzeczy[4]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[4],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); tab_pozycja_elementow_w_spisie_rzeczy[4]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[4],[2]="tak",[4]="tak",}; end; local wiki_modul=require("Module:Wiki"); ----- local numer_rodzaju_artykulow_w_nie_podreczniku=numer_rodzaju_artykulu+1; ----- if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku]={}; end; --local linia_artykokow=--[[(not przerwij) and ]]tab_linia[k]--[[ or szablon]]; linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local tab_stare={((tab_pozycja_elementow_w_spisie_rzeczy[1])and((tab_pozycja_elementow_w_spisie_rzeczy[2])or(tab_pozycja_elementow_w_spisie_rzeczy[3])or(tab_pozycja_elementow_w_spisie_rzeczy[4])or(tab_pozycja_elementow_w_spisie_rzeczy[5])))and({tab_pozycja_elementow_w_spisie_rzeczy[1],tab_pozycja_elementow_w_spisie_rzeczy[2],nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[3],tab_pozycja_elementow_w_spisie_rzeczy[4],tab_pozycja_elementow_w_spisie_rzeczy[5],nil,tab_pozycja_elementow_w_spisie_rzeczy[6],}) or tab_pozycja_elementow_w_spisie_rzeczy[1],{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,false,false,Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow),}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); end; --mw.logObject(tabela_rozdzial_artykulow,"TYTAN") return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; end; function p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local specjalne_modul=require("Module:Specjalne"); local szablonowe_modul=require("Module:Szablonowe"); local html_modul=require("Module:Html"); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local rozdzial_na_tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(rozdzial,nil,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) if(obiekt=="SZABLON")then ----- local szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu; local szablony_dozwolone_w_nazwach_linkowych=stronicowyparser_obiekty_modul.szablony_dozwolone_w_nazwach_linkowych; local szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu; ----- local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(wynik)then return wynik;end; local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_nazwach_linkowych,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(wynik)then return wynik;end; ---- local dodatek=stronicowyparser_rozdzialy_modul.ObiektySzablonoweUzyskiwaniaUruchomieniaTekstu(szablon,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(dodatek)then return dodatek;end; local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- local tab_szablon_link_intelignetny=stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(tab_szablon_link_intelignetny)then return (not tab_szablon_link_intelignetny[4]) and tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1]; else local nazwa_zamiast_linku=stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa_zamiast_linku)then return nazwa_zamiast_linku;end; end; local nazwa_zamiast_linku=stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa_zamiast_linku)then return nazwa_zamiast_linku;end; ---- if(szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu[nazwa_szablonu])then local szablon=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szablon,nil,tablica_analizy_obiektow_strony_dany_modul); return szablon; end; end); if(wynik)then return wynik;end; ---- local rozdzial_na_tekst=mw.ustring.gsub(szablon,"^{{[^{}|]*|([^{}|]*).*}}$","%1"); return rozdzial_na_tekst; elseif(obiekt=="NOWIKI")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif(obiekt=="PRE")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif(obiekt=="ŹRÓDŁO")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif((obiekt~="MATH")and(obiekt~="GALERIA")and(obiekt~="MAPAOBRAZU")and(obiekt~="INNEPRE"))then local rozdzial_na_tekst=specjalne_modul["UsuńKomentarze"](szablon); rozdzial_na_tekst=specjalne_modul["ZamieńLinkiZewnętrzneNaTekst"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["ZamieńLinkiWewnętrzneNaTekst"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńSzablonyStylów"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZnaczniki"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńKategorie"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńWywołaniaPlików"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńInterwiki"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZnakiSpecjalne"](rozdzial_na_tekst); return rozdzial_na_tekst; else return ""; end; end); ---- rozdzial_na_tekst=specjalne_modul["UsuńZnakiSpecjalne"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZbędneBiałeZnaki"](rozdzial_na_tekst); return rozdzial_na_tekst; end; function p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH) local parametry_modul=require("Module:Parametry"); if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki))then return 0;end; local nazwy_modul=require("Module:Nazwy"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_modulu=pelna_nazwa_ksiazki..((nazwa_spisu_tresci~="")and("/"..nazwa_spisu_tresci) or ""); --- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki and nazwa_spisu_tresci) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) or nil; local pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; --- local techniczne_modul=require("Module:Techniczne"); local szablonowe_modul=require("Module:Szablonowe"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); local przekierowanie_spisu_tresci=nil; local tab_nazwa_spisow_przekierowaniowych={}; --[[if(adres_ksiazki_glownego_spisu_tresci)then if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni]={};end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki]={};end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=true;end; end;]] --if(adres_ksiazki_glownego_spisu_tresci)then -- local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; -- local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; -- local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni]={};end; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki]={};end; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=true;end; -- end; if(strona)then local html_modul=require("Module:Html"); strona=html_modul.DecodeHtml(strona,true); local tabela_nazw={}; local pelna_nazwa_ksiazki_przekierowania=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](strona,tabela_nazw); if(pelna_nazwa_ksiazki_przekierowania~=pelna_nazwa_ksiazki)then return 0;end; nazwa_modulu=nazwy_modul["PEŁNANAZWASTRONY"](strona,tabela_nazw); nazwa_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); przekierowanie_spisu_tresci=nazwa_spisu_tresci; ---- pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki and nazwa_spisu_tresci) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) or nil; pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; end; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); --local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true); local __FUNKCJA_PARAMETRY=nil; local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul:RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu,false,nil,nil,function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,szablony_magiczne,tabela_nazw) return nil; end,__FUNKCJA_PARAMETRY); if(not tekst_rozwiniety_calego_artykulu)then return 0;end; if(__FUNKCJA_ZBIERANIA_DANYCH)then __FUNKCJA_ZBIERANIA_DANYCH(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; ---- local techniczne_modul=require("Module:Techniczne"); ---- local tabelalisty2=nil; local licencja_z_autorem=true; local tabela_artykulow=nil; local tabela_licencji_spisu_tresci=nil; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.linki_szablony_elementy_spisu_rzeczy; local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy; local szablony_kompletowania_stron_woluminu=stronicowyparser_obiekty_modul.szablony_kompletowania_stron_woluminu; local szablony_licencji=stronicowyparser_obiekty_modul.szablony_licencji; local szablony_ozdobne_stron_woluminu=stronicowyparser_obiekty_modul.szablony_ozdobne_stron_woluminu; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały") --[[local pelna_nazwa_spisu_tresci_wzor="^("..((nazwa_przestrzeni~="")and techniczne_modul["WzórDanejPrzestrzeniNazw"](nazwa_przestrzeni) or "") ..techniczne_modul["WzórNazwyStrony"](((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki) ..((nazwa_spisu_tresci~="")and ("/"..nazwa_spisu_tresci) or "") .."(/[Ss][Pp][Ii][Ss][%s_]+[Tt][Rr][Ee][ŚśSs][Cc][Ii]))$";]] --local tablica_analizy_obiektow_strony_dany_modul={}; --local tablica_danych_parametrow_szablonu_strony={}; local iterator,tekst_rozwiniety_calego_artykulu=stronicowyparser_rozdzialy_modul.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,true,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,--[[function(pelna_nazwa_szablonu,tabela_modyfikatorow) local pelna_nazwa_spisu_tresci,strona_ze_spisem_tresci=mw.ustring.match(pelna_nazwa_szablonu,pelna_nazwa_spisu_tresci_wzor); if(pelna_nazwa_spisu_tresci and strona_ze_spisem_tresci)then pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true); if(tekst)then ---- if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.spis_tresci)then tablica_ksiazki.spis_tresci={};end; if(not tablica_ksiazki.spis_tresci[nazwa_spisu_tresci])then tablica_ksiazki.spis_tresci[nazwa_spisu_tresci]={};end local tablica_spis_tresci=tablica_ksiazki.spis_tresci[nazwa_spisu_tresci]; tablica_spis_tresci.tekst=tekst; tablica_spis_tresci.adres_wzgledny_spisu_tresci=strona_ze_spisem_tresci; ---- return tekst; end; end; end]]nil,function(str,pelna_nazwa_strony,tablica_analizy_dany_modul,czy_naglowek) local FunkcjaIteratoraTekstuZakodowego=function(szablon,obiekt,kod) if(obiekt=="SZABLON")then ---- local bez_kodow=not mw.ustring.match(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu()); if(bez_kodow)then return;end; ---- local function PomijajLinkiOrazLicencje(szablon) return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) local czy_szablony_licencji=stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu]; if(czy_szablony_licencji)then return true;end; local czy_szablony_ozdobne=stronicowyparser_obiekty_modul.szablony_ozdobne_stron_woluminu[nazwa_szablonu]; if(czy_szablony_ozdobne)then return true;end; --local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); --local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,nazwa_szablonu); --if(wynik)then return wynik;end; ---- if((linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu])or(inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]))then return true;end; local tab_wyzyskane_od_nazwy_szablonu=stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(tab_wyzyskane_od_nazwy_szablonu)then return true;end; end); end; ---- local CzySzablonLinkLubLicencja=function(szablon) local ile_szablon_linki_lub_licencje=0; local _,ile=mw.ustring.gsub(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu("(SZABLON)"), function(obiekt,kod) kod=tonumber(kod); local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; local wynik=PomijajLinkiOrazLicencje(szablon); if(wynik)then ile_szablon_linki=ile_szablon_linki+1;end; return nil; end); if((ile>0)and(ile_szablon_linki_lub_licencje>0))then return true;end; end; local bez_kodow_linkow_wewnetrznych=( not mw.ustring.match(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu("LINK[WZ]")) and not CzySzablonLinkLubLicencja(szablon) ) or not mw.ustring.match(szablon,"\n([#:*;]+)[^%S\n]*([%w%p]*)[^%S\n]*([^\n]+)") or not mw.ustring.match(szablon,"\n([#:*;]*)[^%S\n]*([%w%p]+)[^%S\n]*([^\n]+)"); if(bez_kodow_linkow_wewnetrznych)then return;end; local wynik=PomijajLinkiOrazLicencje(szablon); if(wynik)then return;end; ----- return ""; --[[elseif(obiekt=="WIKITABELA")then szablon=mw.ustring.match(szablon,"^{|(.-)|}$"); szablon=mw.ustring.gsub(szablon,"[|!][|!]","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|[%-%+][^%S\n]+[^|\n]*","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|%-","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|%+","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|","\n\n"); return szablon;]] end; return; end; if(not czy_naglowek)then str=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(str,pelna_nazwa_strony,tablica_analizy_dany_modul,function(szablon,obiekt,kod) local wynik=FunkcjaIteratoraTekstuZakodowego(szablon,obiekt,kod); if(wynik)then return wynik;end; return nil,true; end); return str; end; return str; end,function(tekst_rozwiniety_calego_artykulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local stronicowyparser_analizaspisu_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy"); local tekst=stronicowyparser_analizaspisu_modul.AnalizaSpisuRzeczy(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych); return tekst; end); ---- local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local odczyt_jakie_nie_rozdzialy=stronicowyparser_obiekty_modul.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu; local jakie_nie_rozdzialy=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_nie_rozdzialy); local odczyt_jakie_spisy_tresci=stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local jakie_spisy_tresci=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_spisy_tresci); setmetatable(jakie_nie_rozdzialy,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); setmetatable(jakie_spisy_tresci,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); local numer_rozdzialu_w_ksiazce=1; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local szablonowe_modul=require("Module:Szablonowe"); local tab_dozwolonych_szablonow_z_elementami_spisu_artykulow=stronicowyparser_obiekty_modul.tab_dozwolonych_szablonow_z_elementami_spisu_artykulow; local czy_jest_spis_tresci=nil; local poziom_spisu_tresci=nil; local dalej_nie_rozwazaj_spis_tresci=nil; local wliczaj_artykuly_tego_rozdzialu=nil; local specjalne_modul=require("Module:Specjalne"); local tablica_artykulow_zebranych={}; local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron"); ---- --local szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu; --local szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu; ---- local maksymalny_rozmiar_rozdzialu_zerowego=50; local function AnalizaRozdzialu(rozdzial,linia_rozdzialu,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany) --rozdzial,_=mw.ustring.gsub(rozdzial,"{{[^|{}]+|([^|{}]+)[^{}]*}}","%1"); --if(poziom_rozdzialu)then -- text=stronicowyparser_rozdzialy_modul.IntegrowanieLiniiTekstuWRamachJegoNapisuWprowadzenia(text,nil,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); --end; if(not tabela_artykulow)then tabela_artykulow={};end; local spreparowany_uzyskany_tekst_rozdzialu=nil; ---- local tabela_rozdzial_artykulow; if(not tabela_artykulow[numer_rozdzialu_w_ksiazce])then tabela_artykulow[numer_rozdzialu_w_ksiazce]={}; ---- tabela_rozdzial_artykulow=tabela_artykulow[numer_rozdzialu_w_ksiazce]; ---- local rozdzial_na_tekst=p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany,},rozdzial,}; spreparowany_uzyskany_tekst_rozdzialu=rozdzial_na_tekst; end; local czy_spis_rzeczy_napis_wprowadzenia_tekstu=(poziom_rozdzialu)and(not czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci)and(jakie_spisy_tresci[spreparowany_uzyskany_tekst_rozdzialu]); if(czy_spis_rzeczy_napis_wprowadzenia_tekstu)then poziom_spisu_tresci=poziom_rozdzialu; czy_jest_spis_tresci=true; elseif((czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci))then if((((poziom_spisu_tresci>0)and(poziom_rozdzialu>0))or((poziom_spisu_tresci<=0)and(poziom_rozdzialu<=0)))and(math.abs(poziom_spisu_tresci or 0)<math.abs(poziom_rozdzialu)))then wliczaj_artykuly_tego_rozdzialu=true; else wliczaj_artykuly_tego_rozdzialu=nil; dalej_nie_rozwazaj_spis_tresci=true; end; end; local function iteratorTekstuNaglowka() local re="([#:*;]*)[^%S\n]*([%d%.]*[^%S\n]*[^\n]+)"; local iter=nil; local tak=nil; local czy_rozdzial=nil; return function() if(not czy_rozdzial)then if((poziom_rozdzialu or 0)>0)then if(not iter)then iter=mw.ustring.gmatch(rozdzial,"([^\n]+)"); end; local wartosc=iter(); if(not wartosc)then czy_rozdzial=true; iter=nil; else return "","",wartosc,true; end; else czy_rozdzial=true; end; end; local function dane_iteratora() if(not iter)then iter=mw.ustring.gmatch(text,"\n"..re); end; local przedrostek_listy,tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci=iter(); if(przedrostek_listy and tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci)then local wyzyskane_wywolanie_szablonu_spis_tresci,tekstowy_przedrostek=stronicowyparser_rozdzialy_modul.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu(tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci); return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,false; else return nil; end; end; if(not tak)then tak=true; local przedrostek_listy,tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci=mw.ustring.match(text,"^"..re); if(przedrostek_listy and tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci)then local wyzyskane_wywolanie_szablonu_spis_tresci,tekstowy_przedrostek=stronicowyparser_rozdzialy_modul.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu(tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci); return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,false; else return dane_iteratora(); end; end; return dane_iteratora(); end; end; ---- local function LiniaArtykulow(linia) local iter=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local szablon,obiekt,kod=iter(); if((not szablon) or (not kod) or(not obiekt))then return {};end; local function SzablonAnalizujKompletnosc(szablon) ---- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- return stronicowyparser_obiekty_modul.szablony_kompletowania_stron_woluminu[nazwa_szablonu]; end); return wynik; end; ----- local tak_pierwsze=((obiekt=="SZABLON") and SzablonAnalizujKompletnosc(szablon) or nil); ----- for szablon,obiekt,kod in iter do if(obiekt=="SZABLON")then local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; local tak_drugie=SzablonAnalizujKompletnosc(szablon); if(tak_pierwsze)then if(tak_drugie)then linia=mw.ustring.gsub(linia,"(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu()..")(%s*)("..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..")","%1,%2%3"); end; else if(tak_drugie)then linia=mw.ustring.gsub(linia,"(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..")(%s*)(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu()..")","%1,%2%3"); end; end; end; end; local tabela_linii_artykulow=mw.text.split(linia,"%s*,%s*",false); for i=1,#tabela_linii_artykulow,1 do tabela_linii_artykulow[i]=mw.ustring.gsub(tabela_linii_artykulow[i],"&#"..mw.ustring.byte(',')..";",","); end; return tabela_linii_artykulow; end; local iterator=iteratorTekstuNaglowka(); local wliczaj_artykuly_tego_rozdzialu=((wliczaj_artykuly_tego_rozdzialu)or(not jakie_nie_rozdzialy[rozdzial])); for przedrostek_listy,tekstowy_przedrostek,linia, w_rozdziale in iterator do local nie_pomijaj_tego_rozdzialu=false; if((not przedrostek_listy)or(#przedrostek_listy==0))then local rozdzial,czy_z_kropka=stronicowyparser_rozdzialy_modul.CzyZerowyNapisWprowadzeniaTekstu(linia,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(((rozdzial)and(#rozdzial<=maksymalny_rozmiar_rozdzialu_zerowego))or(not rozdzial))then nie_pomijaj_tego_rozdzialu=true; end; else local czy_pominac_ten_rozdzial_jako_linie=stronicowyparser_rozdzialy_modul.CzyNapisWprowadzeniaTekstuDwukropkowyZDwomaApostrofamiOrazLiniamiNieWoluminu(przedrostek_listy,linia,true,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych); if(not czy_pominac_ten_rozdzial_jako_linie)then nie_pomijaj_tego_rozdzialu=true; else nie_pomijaj_tego_rozdzialu=false; end; end; if(nie_pomijaj_tego_rozdzialu)then local ile=0; local linia_rozwazana=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(linia,nil ,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod--[[,czy_sam_siebie]]) if(obiekt=="SZABLON")then return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- local czy_link=linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu] or inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu] or stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu ,tablica_danych_parametrow_szablonu_strony,kod); local czy_szablon=czy_link or szablony_kompletowania_stron_woluminu[nazwa_szablonu] or szablony_licencji[nazwa_szablonu] --or szablony_ozdobne_stron_woluminu[nazwa_szablonu]; if(czy_link)then ile=ile+1;end; return czy_szablon,obiekt,kod; end); elseif(obiekt=="LINKW")then if(specjalne_modul["CzyLinkWewnętrzny"](szablon))then ile=ile+1; return true,obiekt,kod; end; elseif(obiekt=="LINKZ")then ile=ile+1; return true,obiekt,kod; end; end); ---- local czy_linia_uwzgledniana=mw.ustring.match(linia_rozwazana,"^%s*%-%-+(.*)%-%-+%s*$"); local czy_linia=((not czy_linia_uwzgledniana)and(mw.ustring.match(linia_rozwazana,"^%s*[%-%+%=%~]+.*$") or ((#przedrostek_listy==0)and((mw.ustring.match(linia_rozwazana,"!"))and(mw.ustring.match(linia_rozwazana,"[^!]%s*$")))) or mw.ustring.match(linia_rozwazana,"^%s*<")) or nil); ---- local nowa_linia=false; local function WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana) return function(tabela_rozdzial_artykulow2,numer_podtablicy_w_tablicy,tab_stare) --if((czy_spis_rzeczy_napis_wprowadzenia_tekstu)and(numer_podtablicy_w_tablicy>2))then return;end; if((czy_rozdzial_centrowany)and(w_rozdziale)and(czy_linia_uwzgledniana)and(tab_stare[2])and(tab_stare[2][1]))then tab_stare[2][1]=tab_stare[2][1]+1; end; if(not w_rozdziale)then local function CzyZaliczac() return ((not mw.ustring.match(linia,"^%w+%p+")) and mw.ustring.match(linia,"^%s*'*%s*%w+")); --or mw.ustring.match(linia,"^%s*'*%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu("LINKZ")); end; if(nowa_linia)then tab_stare[2][4]=true; table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); elseif(((poziom_rozdzialu)or(#(przedrostek_listy or "")>0))and((ile>1)or(CzyZaliczac())))then nowa_linia=true; numer_rozdzialu_w_ksiazce=numer_rozdzialu_w_ksiazce+1; tabela_artykulow[numer_rozdzialu_w_ksiazce]={}; tabela_rozdzial_artykulow=tabela_artykulow[numer_rozdzialu_w_ksiazce]; ---- local rozdzial_na_tekst=p.AnalizaNapisuWprowadzeniaTekstu(linia,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{-#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,false,},linia,}; tab_stare[2][4]=true; tab_stare[6]=(numer_podtablicy_w_tablicy>2) and 0 or nil; tabela_rozdzial_artykulow[numer_podtablicy_w_tablicy]={}; table.insert(tabela_rozdzial_artykulow[numer_podtablicy_w_tablicy],tab_stare); else table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); end; else table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); end; end; end; local function AnalizaLiniiObiekty(linia_rozwazana) local tab_linia=LiniaArtykulow(linia_rozwazana); for k=1,#tab_linia,1 do local iterator2=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tab_linia[k],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local tab_nieobslugiwane=nil; for szablon,obiekt,kod in iterator2 do local czy_szablon=(obiekt=="SZABLON");local czy_link=((obiekt=="LINKW")or(obiekt=="LINKZ")); if(czy_szablon or czy_link)then local przerwij=nil; if(czy_szablon)then ---- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu ,tabela_modyfikatorow) ---- --local przerwij=nil; local tabela_spisu=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tabela_spisu)then if(tabela_spisu[1]==true)then --local tabela_parametrow_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil ,tablica_danych_parametrow_szablonu_strony,kod); local numer_link=tabela_spisu["numer_link"]; for name,value in pairs(tabela_parametrow_szablonu)do if(name~=numer_link)then local kod_w_nie_obslugiwanych=tabela_parametrow_szablonu[name]; local iter=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(kod_w_nie_obslugiwanych,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not tab_nieobslugiwane)then tab_nieobslugiwane={};end; for szablon,obiekt,kod in iter do if(not tab_nieobslugiwane[obiekt])then tab_nieobslugiwane[obiekt]={};end; tab_nieobslugiwane[obiekt][kod]=true; end; end; end; local tyt=tabela_parametrow_szablonu[numer_link]; przedrostek_listy=""; tekstowy_przedrostek,szablon=mw.ustring.match(tyt,"^'*[^%S\n]*([%d%.]*)[^%S\n]*([^\n]-)'*$"); przerwij=true; else przedrostek_listy=""; tekstowy_przedrostek=tabela_parametrow_szablonu[tabela_spisu["numer"]]; szablon=tabela_parametrow_szablonu[tabela_spisu["link"]]; przerwij=true; end; end; end); end; --[[if(przerwij)then local iterator3=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); for szablon2,obiekt2,kod2 in iterator3 do if(obiekt2=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tablica_modyfikatorow=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon2,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod2); local tabela_linku=stronicowyparser_obiekty_modul.linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tabela_linku)then szablon=szablon2; break; end; elseif(obiekt2=="LINKW")then szablon=szablon2; break; end; end; end;]] local pozycja_artykulu=nil;local nazwa=nil; local tab_pozycja_elementow_w_spisie_rzeczy;local numer_rodzaju_artykulu_poprz;local id;local parametry_szablonu;local kom; local link_szablon=nil; local czy_obslugiwane=nil; local CzyObslugiwane=function() local wartosc=((tab_nieobslugiwane[obiekt])and(tab_nieobslugiwane[obiekt][kod])); czy_obslugiwane=wartosc; return (not wartosc); end; if((--[[wliczaj_artykuly_tego_rozdzialu]] true)and(not przerwij)and((not tab_nieobslugiwane)or(CzyObslugiwane())))then local linia_artykokow=tab_linia[k]; numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana),tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]]); --mw.log() if((not czy_obslugiwane)and(not numer_rodzaju_artykulu_poprz))then link_szablon=licencja_z_autorem and (czy_artykul_korzystany and mw.ustring.match(szablon,"({{[^{}]+}})") or nil) or nil; end; --mw.logObject(tabela_rozdzial_artykulow) else link_szablon=licencja_z_autorem and (czy_artykul_korzystany and mw.ustring.match(szablon,"({{[^{}]+}})") or nil) or nil; end; --[[if(przerwij)then break;end;]] if((not numer_rodzaju_artykulu_poprz)and(not przerwij)and(link_szablon)and((not tab_pozycja_elementow_w_spisie_rzeczy)or(not tab_pozycja_elementow_w_spisie_rzeczy[1]))and(czy_artykul_korzystany)and(licencja_z_autorem))then --- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu_licencji,nazwa_szablonu_licencji,tabela_modyfikatorow_licencji) if(stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu_licencji])then if(tabela_parametrow_szablonu_licencji)then local autor=tabela_parametrow_szablonu_licencji["Autor"]; local szkoly=tabela_parametrow_szablonu_licencji["Ukończone szkoły"]; local email=tabela_parametrow_szablonu_licencji["Email"]; local dotyczy=tabela_parametrow_szablonu_licencji["Dotyczy"]; local licencjonowanie=tabela_parametrow_szablonu_licencji["Licencjonowanie"]; local umowa_prawna=tabela_parametrow_szablonu_licencji["Umowa prawna"]; local konsekwencje=tabela_parametrow_szablonu_licencji["Konsekwencje"]; local frame=mw.getCurrentFrame(); if(autor~=nil)then autor=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(autor,nazwa_modulu ,tablica_analizy_obiektow_strony_dany_modul);} end; if(szkoly~=nil)then szkoly=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szkoly,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(email~=nil)then email=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(email,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(dotyczy~=nil)then dotyczy=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(dotyczy,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(licencjonowanie~=nil)then licencjonowanie=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(licencjonowanie,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(umowa_prawna~=nil)then umowa_prawna=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(umowa_prawna,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(konsekwencje~=nil)then konsekwencje=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(konsekwencje,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(autor~=nil)then tabela_licencji_spisu_tresci={autor, szkoly, email, dotyczy, licencjonowanie, umowa_prawna, konsekwencje}; licencja_z_autorem=false; end; return true; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; end); if(wynik)then break;end; end; end; end; end; end; if(not czy_linia)then AnalizaLiniiObiekty(linia_rozwazana);end; end; end; numer_rozdzialu_w_ksiazce=numer_rozdzialu_w_ksiazce+1; end; local parsuj_rozdzialami=nil; for rozdzial_tab,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany in iterator do ---rozdzial_tab[1]=rozdzial;rozdzial_tab[2]=linia rozdziału AnalizaRozdzialu(rozdzial_tab[1],rozdzial_tab[2],text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany); if(not parsuj_rozdzialami)then parsuj_rozdzialami=true;end end; if(not parsuj_rozdzialami)then AnalizaRozdzialu("Spis treści",nil,tekst_rozwiniety_calego_artykulu,nil,nil,nil,nil); end; --mw.logObject(tabela_artykulow); if(czy_artykul_korzystany)then return tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci; else return tabela_artykulow,nil,przekierowanie_spisu_tresci; end; end; function p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tabela_artykulow) local parametry_modul=require("Module:Parametry"); if(not parametry_modul.TypeTable(tabela_artykulow))then return;end; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local odczyt_jakie_spisy_tresci=stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local jakie_spisy_tresci=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_spisy_tresci); setmetatable(jakie_spisy_tresci,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); for _,tab_lista in ipairs(tabela_artykulow)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie=artykul_w_bazie_element[1]; local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie); artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie; local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie); if(jakie_spisy_tresci[artykul_bez_naglowka_w_bazie])then return artykul_bez_naglowka_w_bazie; end; end; end; end; end; function p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,__FUNKCJA_SPISU_RZECZY,__FUNKCJA_ZBIERANIA_DANYCH) local adres_ksiazki_glownego_spisu_tresci=nil; local techniczne_modul=require("Module:Techniczne"); local nazwy_modul=require("Module:Nazwy"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local ile2,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki,}; if(ile2>0)then local strona_spisu_tresci=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki); if(strona_spisu_tresci)then local html_modul=require("Module:Html"); strona_spisu_tresci=html_modul.DecodeHtml(strona_spisu_tresci,true); local tabela_nazw={}; local nazwa_przestrzeni2=nazwy_modul["NAZWAPRZESTRZENI"](strona_spisu_tresci,tabela_nazw); local nazwa_przestrzeni_ksiazki2=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_spisu_tresci,tabela_nazw); local nazwa_ksiazki2=(nazwa_przestrzeni_ksiazki2=="") and nazwy_modul["NAZWAKSIĄŻKI"](strona_spisu_tresci,tabela_nazw) or nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_spisu_tresci,tabela_nazw); ---- if((nazwa_przestrzeni~=nazwa_przestrzeni2)or(nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki2)or(nazwa_ksiazki~=nazwa_ksiazki2))then if(((nazwa_przestrzeni2==nazwy_np_modul.Main)or(nazwa_przestrzeni2==nazwy_np_modul.Wikijunior))or(((nazwa_przestrzeni2==nazwy_np_modul.Wikibooks)or(nazwa_przestrzeni2==nazwy_np_modul.User))and(nazwa_przestrzeni_ksiazki2~="")))then ---- adres_ksiazki_glownego_spisu_tresci={nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,}; local wynik=__FUNKCJA_SPISU_RZECZY and __FUNKCJA_SPISU_RZECZY(nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2) or nil; if((wynik or 0)==1)then return 1; end; ---- nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki=nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2; pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); else return 2; end; end; end; end; local parametry_modul=require("Module:Parametry"); local function Spis(tablista_artykulow,spis_tresci,tab_inne_spisy,nazwa_glownego_spisu,numer) if((parametry_modul.TypeTable(tablista_artykulow)) and parametry_modul["CzySąElementyTablicy"](tablista_artykulow))then local czy_spis_tresci_table=parametry_modul.TypeTable(spis_tresci); local spis_tresci_strona=czy_spis_tresci_table and spis_tresci[1] or spis_tresci; ---- local przekierowanie_strona=czy_spis_tresci_table and spis_tresci[2] or nil; local tab_element={[1]={((not spis_tresci) and "Główny spis treści" or ("Spis treści - "..spis_tresci_strona)),{((spis_tresci) and 1 or nil),nil,nil,},["spis"]={spis_tresci_strona or nazwa_glownego_spisu or "",numer}},[2]=nil,[3]=nil,}; --- if(not tablista_artykulow[1][1][2][1])then for numer,tab_lista in ipairs(tablista_artykulow[1])do if(numer>1)then tab_element[numer]=tab_lista; end; end; table.remove(tablista_artykulow,1); end; --- for _,tab_lista in ipairs(tablista_artykulow)do local numer_rozdzialu=tab_lista[1][2][1]; local czy_rozdzial_centrowany=tab_lista[1][2][4]; if(numer_rozdzialu>0)then tab_lista[1][2][1]=numer_rozdzialu+1; end; if(czy_rozdzial_centrowany)then break;end; end; --- numer=numer+1; --- --if(not tablista_artykulow)then tablista_artykulow={};end; ---- table.insert(tablista_artykulow,1,tab_element); if(spis_tresci)then if(not tab_inne_spisy)then tab_inne_spisy={};end; table.insert(tab_inne_spisy,spis_tresci); if(not tablista_artykulow[1][2])then tablista_artykulow[1][2]={};end; local tab_stare={czy_spis_tresci_table and {spis_tresci_strona,nil,przekierowanie_strona} or spis_tresci,{0,"","",true,},"[[:"..pelna_nazwa_ksiazki.."/" ..spis_tresci_strona.."]]",false,}; table.insert(tablista_artykulow[1][2],1,tab_stare); end; end; return tablista_artykulow,tab_inne_spisy,numer; end; local function InneSpisy(tablista_artykulow,tab_inne_spisy,spis_tresci,numer) --mw.logObject(tablista_artykulow,"TYTAn123fhh"); local tablista_artykulow_iter,tablica_licencji,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,spis_tresci,false,nil,__FUNKCJA_ZBIERANIA_DANYCH); --mw.logObject(tablista_artykulow_iter,spis_tresci); ---- if((tablista_artykulow_iter)and(parametry_modul.TypeTable(tablista_artykulow_iter)))then tablista_artykulow_iter,tab_inne_spisy,numer=Spis(tablista_artykulow_iter,(not przekierowanie_spisu_tresci)and spis_tresci or {przekierowanie_spisu_tresci,spis_tresci,},tab_inne_spisy,nil,numer); for _,value in ipairs(tablista_artykulow_iter)do if((not tablista_artykulow)or(not parametry_modul.TypeTable(tablista_artykulow)))then tablista_artykulow={};end; table.insert(tablista_artykulow,value); end; end; return tablista_artykulow,tab_inne_spisy,numer; end; local function SpisRzeczy(tabela_artykulow,tab_inne_spisy) local artykul_spisu_rzeczy=p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tabela_artykulow) if(artykul_spisu_rzeczy)then local numer=1; tabela_artykulow,tab_inne_spisy,numer=Spis(tabela_artykulow,nil,tab_inne_spisy,"",numer); tabela_artykulow,tab_inne_spisy,numer=InneSpisy(tabela_artykulow,tab_inne_spisy,artykul_spisu_rzeczy,numer); end; return tabela_artykulow,tab_inne_spisy; end; local adres_ustawien=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "").."NawigacjaSpecjalna/Nawigacja/"..pelna_nazwa_ksiazki; ---- adres_ustawien=techniczne_modul.PrzekierowanieDoStrony(adres_ustawien) or adres_ustawien; ---- local tekst=techniczne_modul["WikikodStrony"]{["przestrzeń"]="",["nazwa"]=adres_ustawien,}; if(not tekst)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji={}; local szablonowe_modul=require("Module:Szablonowe"); local tekst_zakodowany=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,nil,nil); local stronicowyparser_obiekty_modul=mw.loadData('Module:StronicowyParser/obiekty'); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zakodowany,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji); local szablon_uklad_autonawigacji; local tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji={}; local tabela_parametrow_szablonu_uklad_autonawigacji; local nazwa_szablonu_uklad_autonawigacji; local tabela_modyfikatorow_uklad_autonawigacji; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji,kod,adres_ustawien,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) tabela_parametrow_szablonu_uklad_autonawigacji=tabela_parametrow_szablonu; nazwa_szablonu_uklad_autonawigacji=nazwa_szablonu; tabela_modyfikatorow_uklad_autonawigacji=tabela_modyfikatorow; if(nazwa_szablonu==stronicowyparser_obiekty_modul.uklad_autonawigacji)then szablon_uklad_autonawigacji=szablon; return true; end; end); if(wynik)then break;end; end; end; if(not szablon_uklad_autonawigacji)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; --local tabela_parametrow_szablonu_uklad_autonawigacji,nazwa_szablonu_uklad_autonawigacji,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon_uklad_autonawigacji); if(not tabela_parametrow_szablonu_uklad_autonawigacji)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local parametry_modul=require("Module:Parametry"); local automat_manualny=tabela_parametrow_szablonu_uklad_autonawigacji["automat manualny"]; ---- local html_modul=require("Module:Html"); ---- local czy_automat_manualny=(automat_manualny) and parametry_modul.CzyTak(automat_manualny) or nil; if(czy_automat_manualny)then local sub_nazwa_spis_tresci; local spis_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści"]; spis_tresci=spis_tresci and html_modul.DecodeHtml(spis_tresci,true) or nil; if(parametry_modul.CzyTak(spis_tresci))then local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelna_nazwa_ksiazki_spisu_tresci=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](spis_tresci,tabela_nazw); if(pelna_nazwa_ksiazki_spisu_tresci==pelna_nazwa_ksiazki)then sub_nazwa_spis_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](spis_tresci,tabela_nazw); else sub_nazwa_spis_tresci=""; end; else sub_nazwa_spis_tresci=""; end; local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,sub_nazwa_spis_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and sub_nazwa_spis_tresci or {przekierowanie_spisu_tresci,sub_nazwa_spis_tresci,},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local frame=mw.getCurrentFrame(); for name,value in pairs(tabela_parametrow_szablonu_uklad_autonawigacji)do tabela_parametrow_szablonu_uklad_autonawigacji[name]=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(value,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,function(szablon,obiekt,kod) if(obiekt=="ZMIENNA")then szablon,_=mw.ustring.gsub(szablon,"{{{([^|{}]*)|([^{}]-)}}}","{{(((}}%1{{!}}%2{{)))}}"); szablon,_=mw.ustring.gsub(szablon,"{{{([^|{}]*)}}}","{{(((}}%1{{)))}}"); return szablon; end; end),}; end; local nazwy_modul=require("Module:Nazwy"); local bez_spisow_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["bez spisów treści"]; local czy_bez_spisow_tresci=(bez_spisow_tresci) and parametry_modul.CzyTak(bez_spisow_tresci) or nil; local bez_analizy_spisow_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["bez analizy spisów treści"]; local czy_bez_analizy_spisow_tresci=(bez_analizy_spisow_tresci) and parametry_modul.CzyTak(bez_analizy_spisow_tresci) or nil; ---- local tab_inne_spisy;local nazwa_glownego_spisu; local tablista_artykulow; local licencja; local numer=1; ---- --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); ---- local tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika;local tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika;local przekierowanie_spisu_tresci; if(not czy_bez_spisow_tresci)then local spis_tresci_main=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści"]; if(spis_tresci_main)then spis_tresci_main=html_modul.DecodeHtml(spis_tresci_main,true); --- spis_tresci_main=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=spis_tresci_main,[2]=pelna_nazwa_ksiazki,}; end; local tabela_nazw={}; local pelna_nazwa_ksiazki_wedlug_glownego_spisu_tresci=parametry_modul.CzyTak(spis_tresci_main) and nazwy_modul["PEŁNANAZWAKSIĄŻKI"](spis_tresci_main,tabela_nazw) or pelna_nazwa_ksiazki; if(pelna_nazwa_ksiazki~=pelna_nazwa_ksiazki_wedlug_glownego_spisu_tresci)then return 0; end; nazwa_glownego_spisu=parametry_modul.CzyTak(spis_tresci_main) and nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](spis_tresci_main,tabela_nazw) or ""; else nazwa_glownego_spisu=""; end; if((not czy_bez_spisow_tresci)and(not czy_bez_analizy_spisow_tresci))then tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika,tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_glownego_spisu,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); if(przekierowanie_spisu_tresci)then nazwa_glownego_spisu={przekierowanie_spisu_tresci,nazwa_glownego_spisu,}; end; if((not tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika)or(tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika==0))then return tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika; end; local IteratorSpisTresci=function() local liczba=1; return function() local spis_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści "..liczba]; liczba=liczba+1; return spis_tresci; end; end; local iter=IteratorSpisTresci(); tablista_artykulow=tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika; licencja=tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika; tablista_artykulow,tab_inne_spisy,numer=Spis(tablista_artykulow,nil,tab_inne_spisy,nazwa_glownego_spisu,numer); local artykul_spisu_rzeczy=p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tablista_artykulow); if(artykul_spisu_rzeczy)then tabela_artykulow,tab_inne_spisy,numer=InneSpisy(tablista_artykulow,tab_inne_spisy,artykul_spisu_rzeczy,numer); end; for spis_tresci in iter do --- if(not parametry_modul.CzyTak(spis_tresci))then return;end; spis_tresci=html_modul.DecodeHtml(spis_tresci,true); spis_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=spis_tresci,[2]="",}; --- tablista_artykulow,tab_inne_spisy,numer=InneSpisy(tablista_artykulow,tab_inne_spisy,spis_tresci,numer); end; end; ---- local IteratorFun=function() local liczba=1; local STRONA=function(liczba)return liczba*2-1;end; local NAZWA=function(liczba)return liczba*2;end; return function() local strona=tabela_parametrow_szablonu_uklad_autonawigacji[STRONA(liczba)]; local nazwa=tabela_parametrow_szablonu_uklad_autonawigacji[NAZWA(liczba)]; liczba=liczba+1; return strona,nazwa; end; end; local tablica_stron_ksiazki={}; local tablica_stron_inne={}; local iter=IteratorFun(); local ksiazkawe_modul=require("Module:Książkowe"); local pudelko_modul=require("Module:Pudełko"); local wiki_modul=require("Module:Wiki"); local dodatkowe_artykuly=nil; local tablica_artykulow_zebranych={}; local tab_nazwa_spisow_przekierowaniowych={}; local dodatkowe_artykuly=nil; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne") local tabela_rozdzial_artykulow=nil; ---- local pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"") or nil; local pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; ---- --local tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji={}; ---- for strona,nazwa in iter do local function ZbieranieDanychStronZAutonawigacji() if(not parametry_modul.CzyTak(strona))then return;end; strona=html_modul.DecodeHtml(strona,true); nazwa=parametry_modul.CzyTak(nazwa) and html_modul.DecodeHtml(nazwa,true) or nil; if(not dodatkowe_artykuly)then if((not tablista_artykulow)or(not parametry_modul.TypeTable(tablista_artykulow)))then tablista_artykulow={};end; table.insert(tablista_artykulow,{[1]={"Dodatkowe artykuły",{1,nil,nil},["dodatkowe"]="tak",},[2]=nil,}); tabela_rozdzial_artykulow=tablista_artykulow[#tablista_artykulow]; end; --- strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_ksiazki,}; local WsadzanieParametryDoTablicy=function(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare) if(not dodatkowe_artykuly)then dodatkowe_artykuly={};end; ---- local czy_table_baza_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(tab_stare[1]); local adres=czy_table_baza_artykulu and tab_stare[1][1] or tab_stare[1]; local czy_w_podreczniku=tab_stare[5]; local kod_jezyka_koncowy=czy_table_baza_artykulu and tab_stare[1][5] or nil; local kod_projektu_koncowy=czy_table_baza_artykulu and tab_stare[1][6] or nil; ---- table.insert(dodatkowe_artykuly,{((adres) and (kod_jezyka_koncowy or kod_projektu_koncowy) and({adres,kod_jezyka_koncowy,kod_projektu_koncowy,}) or adres),nazwa,czy_w_podreczniku,}); ---- table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku],tab_stare); end; local numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy; numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,true,{strona,nazwa,},nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",pelna_nazwa_spisu_tresci_szablonowa,pelna_nazwa_ksiazki,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji,nil,nil,tab_nazwa_spisow_przekierowaniowych,--[[]]"*","",false,"[[:"..strona..((parametry_modul.CzyTak(nazwa))and("|"..nazwa) or "").."]]"); end; ZbieranieDanychStronZAutonawigacji(); end; ---- return tablista_artykulow,licencja,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci; end; return p; sw9snjojqlz51p1aryvw7gbxtbyl1kv Moduł:StronicowyParser/NumeracjaObiektówStron 828 60331 543664 543384 2026-05-21T05:23:37Z Persino 2851 543664 Scribunto text/plain local p={}; function p.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,nazwa_artykulu2) local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local parametry_modul=require("Module:Parametry"); ----- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ----- for nazwa_przestrzeni,tablica_nazw_przestrzeni_ksiazek in pairs(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)do for nazwa_przestrzeni_ksiazki, tablica_nazw_ksiazek in pairs(tablica_nazw_przestrzeni_ksiazek)do for nazwa_ksiazki,tablica_nazw_artykulow in pairs(tablica_nazw_ksiazek)do local tablica_artykulow={}; local tab_ksiazki=tablica_nazw_artykulow.spis; local czy_da_sie_numerowac_obiekty_ze_spisem_tresci=false; if(tab_ksiazki)then local i=1; for _,tab_rozdzialu in pairs(tab_ksiazki)do if(tab_rozdzialu[2])then for _,tab_dane_nazwa_artykulu_spisu in ipairs(tab_rozdzialu[2])do local czy_tabelka_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(tab_dane_nazwa_artykulu_spisu[1]); local tab_nazwa_artukulu_link=czy_tabelka_artykulu and tab_dane_nazwa_artykulu_spisu[1][1] or tab_dane_nazwa_artykulu_spisu[1]; local artykul=stronicowyparser_potrzebne_modul.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_nazwa_artukulu_link); if(artykul)then tablica_artykulow[artykul]=i; i=i+1; end; end; end; end; if(parametry_modul["CzySąElementyTablicy"](tablica_artykulow))then czy_da_sie_numerowac_obiekty_ze_spisem_tresci=true; end; end; for nazwa_artykulu, dane_artykulu in pairs(tablica_nazw_artykulow.lista_podstron_woluminu) do local biezacy_artykul=dane_artykulu.artykul_biezacy; local numer_obiektu_w_ksiazce=tablica_artykulow[nazwa_artykulu] or 0; local function Problemy_z_doloczonymi_uchywtami(nazwa_obiektu) stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"błędy uchwytów dołączonych stron",nazwa_obiektu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; if((czy_da_sie_numerowac_obiekty_ze_spisem_tresci)and(nazwa_artykulu~=""))then p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self,dane_artykulu,biezacy_artykul,numer_obiektu_w_ksiazce,stronicowyparser_obiekty_modul,Problemy_z_doloczonymi_uchywtami); else p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self,dane_artykulu,biezacy_artykul,0,stronicowyparser_obiekty_modul,Problemy_z_doloczonymi_uchywtami); end; end; end; end; end; for _,obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local obiekt2=obiekt[1]; p.SprawdzanieReferencji(self,tablica_zmiennych,tablica_zmiennych.linkobiekt[obiekt2],obiekt2,"Link"..obiekt2, nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,nazwa_artykulu2,stronicowyparser_obiekty_modul); end; end; function p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self, dane_artykulu,biezacy_artykul,numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja) for _,element_w_podtablicy_kategorii_bledow in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local element_obiekty=element_w_podtablicy_kategorii_bledow[1]; p.SprawdzanieOrazNumerowanieElementowychFormStrony(self,dane_artykulu,biezacy_artykul,element_obiekty,numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja); end; end; function p.SprawdzanieReferencji(self,tablica_zmiennych,link_obiekt_lub_wypowiedzenie, nazwa_obiektu1, nazwa_obiektu2, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu,stronicowyparser_obiekty_modul) local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2))or(nazwa_artykulu==""))then local szablony_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu[nazwa_obiektu1]; local szablony_tekstu=(not szablony_wprowadzenia_tekstu) and stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_tekstu[nazwa_obiektu1] or nil; for _, elementy_w_tablicy_obiekt_lub_wypowiedzenie in ipairs(link_obiekt_lub_wypowiedzenie) do local czy_uchwyty_nie_sa_ponumerowane=true; for _, elementy_w_tablicy_obiekt_lub_wypowiedzenie2 in ipairs(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu1]) do if(elementy_w_tablicy_obiekt_lub_wypowiedzenie==elementy_w_tablicy_obiekt_lub_wypowiedzenie2[1])then if((not szablony_wprowadzenia_tekstu)and(not szablony_tekstu))then if(elementy_w_tablicy_obiekt_lub_wypowiedzenie2[2])then czy_uchwyty_nie_sa_ponumerowane=false; break; end; else czy_uchwyty_nie_sa_ponumerowane=false; break; end; end; end; if(czy_uchwyty_nie_sa_ponumerowane)then local czy_tylko_ze_znakami_odstepu_lub_puste=mw.ustring.match(elementy_w_tablicy_obiekt_lub_wypowiedzenie,"^%s*$"); if(czy_tylko_ze_znakami_odstepu_lub_puste)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu1,1)) then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu1,1); end; return; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2); return; end; end; end; end; end; function p.SprawdzanieOrazNumerowanieElementowychFormStrony(self, dane_artykulu, biezacy_artykul, nazwa_obiektu, numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja) local parametry_modul=require("Module:Parametry"); if(not dane_artykulu.uchwyty_i_numeracje)then return;end; local tabela_obiektu=dane_artykulu.uchwyty_i_numeracje[nazwa_obiektu]; if(not tabela_obiektu)then return;end; local szablony_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu[nazwa_obiektu]; local szablony_tekstu=(not szablony_wprowadzenia_tekstu) and stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_tekstu[nazwa_obiektu] or nil; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); for licznik,element_obiektu in ipairs(tabela_obiektu)do local czy_numerowac=true; for licznik2=1, licznik-1,1 do if((tabela_obiektu[licznik2][1])and(element_obiektu[1]==tabela_obiektu[licznik2][1]))then if(biezacy_artykul)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu); end; else __Funkcja(nazwa_obiektu); end; if(not szablony_wprowadzenia_tekstu)then tabela_obiektu[licznik2][2]=nil; czy_numerowac=false; end; break; end; end; if((not szablony_wprowadzenia_tekstu)and(not szablony_tekstu))then if(czy_numerowac)then if(numer_artykulu_w_ksiazce>0)then element_obiektu[2]=numer_artykulu_w_ksiazce.."."..licznik; elseif(numer_artykulu_w_ksiazce==0)then element_obiektu[2]=licznik; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; end; end; end; return p; 0sjoauw0dzxlft7yw4d1scsa7d8islv 543688 543664 2026-05-21T06:22:02Z Persino 2851 543688 Scribunto text/plain local p={}; function p.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,nazwa_artykulu2) local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local parametry_modul=require("Module:Parametry"); ----- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ----- for nazwa_przestrzeni,tablica_nazw_przestrzeni_ksiazek in pairs(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)do for nazwa_przestrzeni_ksiazki, tablica_nazw_ksiazek in pairs(tablica_nazw_przestrzeni_ksiazek)do for nazwa_ksiazki,tablica_nazw_artykulow in pairs(tablica_nazw_ksiazek)do local tablica_artykulow={}; local tab_ksiazki=tablica_nazw_artykulow.spis; local czy_da_sie_numerowac_obiekty_ze_spisem_tresci=false; if(tab_ksiazki)then local i=1; for _,tab_rozdzialu in pairs(tab_ksiazki)do if(tab_rozdzialu[2])then for _,tab_dane_nazwa_artykulu_spisu in ipairs(tab_rozdzialu[2])do local czy_tabelka_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(tab_dane_nazwa_artykulu_spisu[1]); local tab_nazwa_artukulu_link=czy_tabelka_artykulu and tab_dane_nazwa_artykulu_spisu[1][1] or tab_dane_nazwa_artykulu_spisu[1]; local artykul=stronicowyparser_potrzebne_modul.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_nazwa_artukulu_link); if(artykul)then tablica_artykulow[artykul]=i; i=i+1; end; end; end; end; if(parametry_modul["CzySąElementyTablicy"](tablica_artykulow))then czy_da_sie_numerowac_obiekty_ze_spisem_tresci=true; end; end; for nazwa_artykulu, dane_artykulu in pairs(tablica_nazw_artykulow.lista_podstron_woluminu) do local biezacy_artykul=dane_artykulu.artykul_biezacy; local numer_obiektu_w_ksiazce=tablica_artykulow[nazwa_artykulu] or 0; local function Problemy_z_doloczonymi_uchywtami(nazwa_obiektu) stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"błędy uchwytów dołączonych stron",nazwa_obiektu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; if((czy_da_sie_numerowac_obiekty_ze_spisem_tresci)and(nazwa_artykulu~=""))then p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self,dane_artykulu,biezacy_artykul,numer_obiektu_w_ksiazce,stronicowyparser_obiekty_modul,Problemy_z_doloczonymi_uchywtami); else p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self,dane_artykulu,biezacy_artykul,0,stronicowyparser_obiekty_modul,Problemy_z_doloczonymi_uchywtami); end; end; end; end; end; for _,obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local obiekt2=obiekt[1]; p.SprawdzanieReferencji(self,tablica_zmiennych,tablica_zmiennych.linkobiekt[obiekt2],obiekt2,"Link"..obiekt2, nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,nazwa_artykulu2,stronicowyparser_obiekty_modul); end; end; function p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self, dane_artykulu,biezacy_artykul,numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja) for _,element_w_podtablicy_kategorii_bledow in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local element_obiekty=element_w_podtablicy_kategorii_bledow[1]; p.SprawdzanieOrazNumerowanieElementowychFormStrony(self,dane_artykulu,biezacy_artykul,element_obiekty,numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja); end; end; function p.SprawdzanieReferencji(self,tablica_zmiennych,link_obiekt_lub_wypowiedzenie, nazwa_obiektu1, nazwa_obiektu2, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu,stronicowyparser_obiekty_modul) local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2))or(nazwa_artykulu==""))then local szablony_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu[nazwa_obiektu1]; local szablony_tekstu=(not szablony_wprowadzenia_tekstu) and stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_tekstu[nazwa_obiektu1] or nil; for _, elementy_w_tablicy_obiekt_lub_wypowiedzenie in ipairs(link_obiekt_lub_wypowiedzenie) do local czy_uchwyty_nie_sa_ponumerowane=true; for _, elementy_w_tablicy_obiekt_lub_wypowiedzenie2 in ipairs(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu1]) do if(elementy_w_tablicy_obiekt_lub_wypowiedzenie==elementy_w_tablicy_obiekt_lub_wypowiedzenie2[1])then if((not szablony_wprowadzenia_tekstu)and(not szablony_tekstu))then if(elementy_w_tablicy_obiekt_lub_wypowiedzenie2[2])then czy_uchwyty_nie_sa_ponumerowane=false; break; end; else czy_uchwyty_nie_sa_ponumerowane=false; break; end; end; end; if(czy_uchwyty_nie_sa_ponumerowane)then local czy_tylko_ze_znakami_odstepu_lub_puste=mw.ustring.match(elementy_w_tablicy_obiekt_lub_wypowiedzenie,"^%s*$"); if(czy_tylko_ze_znakami_odstepu_lub_puste)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu1,1)) then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu1,1); end; return; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2); return; end; end; end; end; end; function p.SprawdzanieOrazNumerowanieElementowychFormStrony(self, dane_artykulu, biezacy_artykul, nazwa_obiektu, numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja) local parametry_modul=require("Module:Parametry"); if(not dane_artykulu.uchwyty_i_numeracje)then return;end; local tabela_obiektu=dane_artykulu.uchwyty_i_numeracje[nazwa_obiektu]; if(not tabela_obiektu)then return;end; local szablony_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu[nazwa_obiektu]; local szablony_tekstu=(not szablony_wprowadzenia_tekstu) and stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_tekstu[nazwa_obiektu] or nil; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); for licznik,element_obiektu in ipairs(tabela_obiektu)do local czy_numerowac=true; for licznik2=1, licznik-1,1 do if((tabela_obiektu[licznik2][1])and(element_obiektu[1]==tabela_obiektu[licznik2][1]))then if(biezacy_artykul)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu); end; else __Funkcja(nazwa_obiektu); end; if((not szablony_wprowadzenia_tekstu)and(not szablony_tekstu))then tabela_obiektu[licznik2][2]=nil; czy_numerowac=false; end; break; end; end; if((not szablony_wprowadzenia_tekstu)and(not szablony_tekstu))then if(czy_numerowac)then if(numer_artykulu_w_ksiazce>0)then element_obiektu[2]=numer_artykulu_w_ksiazce.."."..licznik; elseif(numer_artykulu_w_ksiazce==0)then element_obiektu[2]=licznik; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; end; end; end; return p; 7e1ylgf75ah36eftroat2x0xao9pobj 543692 543688 2026-05-21T06:53:05Z Persino 2851 543692 Scribunto text/plain local p={}; function p.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,nazwa_artykulu2) local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local parametry_modul=require("Module:Parametry"); ----- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ----- for nazwa_przestrzeni,tablica_nazw_przestrzeni_ksiazek in pairs(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)do for nazwa_przestrzeni_ksiazki, tablica_nazw_ksiazek in pairs(tablica_nazw_przestrzeni_ksiazek)do for nazwa_ksiazki,tablica_nazw_artykulow in pairs(tablica_nazw_ksiazek)do local tablica_artykulow={}; local tab_ksiazki=tablica_nazw_artykulow.spis; local czy_da_sie_numerowac_obiekty_ze_spisem_tresci=false; if(tab_ksiazki)then local i=1; for _,tab_rozdzialu in pairs(tab_ksiazki)do if(tab_rozdzialu[2])then for _,tab_dane_nazwa_artykulu_spisu in ipairs(tab_rozdzialu[2])do local czy_tabelka_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(tab_dane_nazwa_artykulu_spisu[1]); local tab_nazwa_artukulu_link=czy_tabelka_artykulu and tab_dane_nazwa_artykulu_spisu[1][1] or tab_dane_nazwa_artykulu_spisu[1]; local artykul=stronicowyparser_potrzebne_modul.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_nazwa_artukulu_link); if(artykul)then tablica_artykulow[artykul]=i; i=i+1; end; end; end; end; if(parametry_modul["CzySąElementyTablicy"](tablica_artykulow))then czy_da_sie_numerowac_obiekty_ze_spisem_tresci=true; end; end; for nazwa_artykulu, dane_artykulu in pairs(tablica_nazw_artykulow.lista_podstron_woluminu) do local biezacy_artykul=dane_artykulu.artykul_biezacy; local numer_obiektu_w_ksiazce=tablica_artykulow[nazwa_artykulu] or 0; local function Problemy_z_doloczonymi_uchywtami(nazwa_obiektu) stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"błędy uchwytów dołączonych stron",nazwa_obiektu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; if((czy_da_sie_numerowac_obiekty_ze_spisem_tresci)and(nazwa_artykulu~=""))then p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self,dane_artykulu,biezacy_artykul,numer_obiektu_w_ksiazce,stronicowyparser_obiekty_modul,Problemy_z_doloczonymi_uchywtami); else p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self,dane_artykulu,biezacy_artykul,0,stronicowyparser_obiekty_modul,Problemy_z_doloczonymi_uchywtami); end; end; end; end; end; for _,obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local obiekt2=obiekt[1]; p.SprawdzanieReferencji(self,tablica_zmiennych,tablica_zmiennych.linkobiekt[obiekt2],obiekt2,"Link"..obiekt2, nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,nazwa_artykulu2,stronicowyparser_obiekty_modul); end; end; function p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self, dane_artykulu,biezacy_artykul,numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja) for _,element_w_podtablicy_kategorii_bledow in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local element_obiekty=element_w_podtablicy_kategorii_bledow[1]; p.SprawdzanieOrazNumerowanieElementowychFormStrony(self,dane_artykulu,biezacy_artykul,element_obiekty,numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja); end; end; function p.SprawdzanieReferencji(self,tablica_zmiennych,link_obiekt_lub_wypowiedzenie, nazwa_obiektu1, nazwa_obiektu2, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu,stronicowyparser_obiekty_modul) local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2))or(nazwa_artykulu==""))then local szablony_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu[nazwa_obiektu1]; local szablony_tekstu=(not szablony_wprowadzenia_tekstu) and stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_tekstu[nazwa_obiektu1] or nil; for _, elementy_w_tablicy_obiekt_lub_wypowiedzenie in ipairs(link_obiekt_lub_wypowiedzenie) do local czy_uchwyty_nie_sa_ponumerowane=true; for _, elementy_w_tablicy_obiekt_lub_wypowiedzenie2 in ipairs(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu1]) do if(elementy_w_tablicy_obiekt_lub_wypowiedzenie==elementy_w_tablicy_obiekt_lub_wypowiedzenie2[1])then if((not szablony_wprowadzenia_tekstu)and(not szablony_tekstu))then if(elementy_w_tablicy_obiekt_lub_wypowiedzenie2[2])then czy_uchwyty_nie_sa_ponumerowane=false; break; end; else czy_uchwyty_nie_sa_ponumerowane=false; break; end; end; end; if(czy_uchwyty_nie_sa_ponumerowane)then local czy_tylko_ze_znakami_odstepu_lub_puste=mw.ustring.match(elementy_w_tablicy_obiekt_lub_wypowiedzenie,"^%s*$"); if(czy_tylko_ze_znakami_odstepu_lub_puste)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu1,1)) then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu1,1); end; return; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu2); return; end; end; end; end; end; function p.SprawdzanieOrazNumerowanieElementowychFormStrony(self, dane_artykulu, biezacy_artykul, nazwa_obiektu, numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja) local parametry_modul=require("Module:Parametry"); if(not dane_artykulu.uchwyty_i_numeracje)then return;end; local tabela_obiektu=dane_artykulu.uchwyty_i_numeracje[nazwa_obiektu]; if(not tabela_obiektu)then return;end; local szablony_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_wprowadzenia_tekstu[nazwa_obiektu]; local szablony_tekstu=(not szablony_wprowadzenia_tekstu) and stronicowyparser_obiekty_modul.nienumerowane_z_uchwytami_szablony_tekstu[nazwa_obiektu] or nil; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); for licznik,element_obiektu in ipairs(tabela_obiektu)do local czy_numerowac=true; for licznik2=1, licznik-1,1 do if((tabela_obiektu[licznik2][1])and(element_obiektu[1]==tabela_obiektu[licznik2][1]))then if(biezacy_artykul)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",nazwa_obiektu); end; else __Funkcja(nazwa_obiektu); end; if(not szablony_wprowadzenia_tekstu)then tabela_obiektu[licznik2][2]=nil; czy_numerowac=false; end; break; end; end; if((not szablony_wprowadzenia_tekstu)and(not szablony_tekstu))then if(czy_numerowac)then if(numer_artykulu_w_ksiazce>0)then element_obiektu[2]=numer_artykulu_w_ksiazce.."."..licznik; elseif(numer_artykulu_w_ksiazce==0)then element_obiektu[2]=licznik; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; end; end; end; return p; 198hfwputu7hlj9xi8zz9levehqgrq3 Pruski/Lekcja12 0 61047 543581 543010 2026-05-20T18:27:36Z Aklbmd164 37133 543581 wikitext text/x-wiki '''<big>Lakciōni 12</big>''' == Īdis – Jedzenie == === Wēišai – Owoce === <gallery> File:Red Apple.jpg|'''ābli''', '''wūbli''' <52> – jabłko File:Bowl of Blueberries (Unsplash).jpg|'''agā''' <46> – jagoda File:Pineapple in garden.jpg|'''ānanasi''' <52> – ananas File:Local Orange Variety of Kozan - Kozan Yerli Portakal 04.jpg|'''appelzini''' <52> – pomarańcza File:Banana (white background).jpg|'''banāni''' <52> – banan File:Lemon-Whole-Split.jpg|'''citrōni''' <52> – cytryna File:Pomegranate03 edit.jpg|'''granātasabli''' <52> – granat File:Raspberries05.jpg|'''kamisteni''' <52> – malina File:Kiwi aka.jpg|'''kīwi''' <52> – kiwi File:Coconuts - single and cracked open.jpg|'''kōkusi''' <52> – kokos File:Pear in tree 0465.jpg|'''krāušas''' <50> – gruszka (''plurale tantum'', występuje tylko w l. mnogiej) File:Madarines white bg.jpg|'''mandarīni''' <52> – mandarynka File:Autumn Red peaches.jpg|'''pīrziks''' <32> – brzoskwinia File:Garden strawberry (Fragaria × ananassa).jpg|'''prasseli''' <52> – truskawka File:Damson plum fruit.jpg|'''sliwaītas''' <45> – śliwka (''plurale tantum'') File:Starr-130830-0485-Citrullus lanatus-in half-Hawea Pl Olinda-Maui (25166802001).jpg|'''undasmelōni''' <52> – arbuz File:Table grapes on white.jpg|'''wīnega''' <45> – winogrono File:02024 May Duke Cherry, Beskids mts.jpg|'''wisnaītas''' <45> – wiśnia (''plurale tantum'') </gallery> === Saknis – Warzywa === <gallery> File:Phaseolus vulgaris white beans, witte boon.jpg|'''babba''' <45> – fasola File:Broccoli and cross section edit.jpg|'''brukōlis''' <40> – brokuł File:Potato var. Linda HC1.JPG|'''bulwi''' <52> – ziemniak File:Carrots.JPG|'''burkans''' <32> – marchewka File:CourgettesInBowl.JPG|'''cukīni''' <52> – cukinia File:Cucumber from Denmark.jpg|'''gurki''' <52> – ogórek File:Pisum sativum Горох лущильний - зелений горошок.jpg|'''kekkers''' <33> – groszek File:CabbageBG.JPG|'''kumstas''' <32> – kapusta File:Chou-fleur 02.jpg|'''kweitākumstas''' <32> – kalafior File:Corn 001.jpg|'''majjiss''' <32> – kukurydza File:Red capsicum and cross section.jpg|'''paprika''' <45> – papryka File:Beets-Bundle.jpg|'''rūnkeli''' <50> – burak File:Kropsla herfst.jpg|'''salāts''' <32> – sałata File:Onions.jpg|'''sippeli''' <52> – cebula File:Bright red tomato and cross section02.jpg|'''tōmati''' <52> – pomidor </gallery> === Pūwjai – Napoje === <gallery> File:Cup of tea isolated on white background - Petr Kratochvil (cropped).jpg|'''tējs''' <32> – herbata File:Milk glass.jpg|'''daddan''' <35> – mleko File:Orange juice (3249410157).jpg|'''saks''' <36> – sok File:Glass Half Full bw 1.JPG|'''undan''' <35> – woda File:Drinking glass 00118.gif|'''gazītan undan''' <35> – woda gazowana File:Cup of coffee (Serbian cuisine, Grand kava).jpg|'''kafējs''' <32> – kawa File:Bottle, Wine (Italiano Spumante) (48709467566).jpg|'''wīns''' <32> – wino File:Red Wine Glass.jpg|'''wūrmiwins''' <32> – czerwone wino File:White Wine Glas.jpg|'''gaīlawins''' <32> – białe wino File:NCI Visuals Food Beer.jpg|'''pīws''' <32> – piwo </gallery> === Mēnsa, daddas prōduktai, zirnis prōduktai, preigardāi – Mięso, nabiał, produkty zbożowe, przyprawy === <gallery> File:Red Meat.jpg|'''mēnsa''' <45> – mięso File:Breakfast Ham (53273608095).jpg|'''kūmpis''' <40> – szynka File:Podwawelska ..jpg|'''lāitin''' <37> – kiełbasa File:Nc cheese.jpg|'''sūris''' <40> – ser żółty File:Творог.jpg|'''glumzdi''' <52> – twaróg File:2023 Masło w maselniczce.jpg|'''anktan''' <35> – masło File:Turkish strained yogurt.jpg|'''jōgurts''' <32> – jogurt File:Steamed Buckwheat on a plate.jpg|'''puttera''' <45> – kasza File:Mjøl.jpg|'''miltan''' <35> – mąka File:HK food ingredient texture of Alberto Poiatti Italian brand 直通粉 penne rigate yellow September 2021 SS2 02.jpg|'''nūdelis''' <52> → makaron (''plurale tantum'') File:Anadama bread (1).jpg|'''geīts''' <58> – chleb File:13-08-31-Kochtreffen-Wien-RalfR-N3S 7849-024.jpg|'''traskeīlis''' <40> – bułka File:Fancy raw mixed nuts macro.jpg|'''reīss''' <36> – orzech File:Eierdoosmet10eierengevuld2010.jpg|'''pāuts''' <32> – jajko File:Salt shaker on white background.jpg|'''sāls''' <60> – sól File:Black Pepper IMG 4866.jpg|'''pippars''' <32> – pieprz File:Heinz Tomato Ketchup (51266256693).jpg|'''ketšups''' <32> – keczup File:Zaanse mayonaise.jpg|'''majōnezi''' <52> – majonez File:Los Gallitos - October 31 2022 - Sarah Stierch 03.jpg|'''pamārka''' <45> – sos </gallery> === Īdas – Potrawy === <gallery> File:0003 kotlet schabowy 2013, photo by Silar.JPG|'''karmenādi''' <52> – kotlet File:Plated grilled fish (cropped).jpg|'''zuks''' <32> – ryba File:Scrambed eggs.jpg|'''pautinni''' <52> – jajecznica File:Egg Sandwich.jpg|'''geītka''' <45> – kanapka File:French fries (6211716064).jpg|'''frittis''' <52> – frytki (''plurale tantum'') File:Pizza napoletana.jpg|'''picca''' <45> – pizza File:Swedish pancakes.jpg|'''kalsā''' <46> – naleśnik, blin File:Zupa ogórkowa - 2024.05.29.jpg|'''zuppi''' <52> – zupa File:Rosół - 2024.11.03.jpg|'''jūsi''' <52> – rosół, bulion File:Vegetable salad, Christmas Eve dinner in Brisbane, Australia, 2023.jpg|'''mišmašs''' <32> – sałatka jarzynowa </gallery> === Saldiskāi – Słodycze === <gallery> File:Sugar-485057.jpg|'''cukkeris''' <40> – cukier File:MielCristalizada.jpg|'''meddu''' <44> – miód File:Mermelada de frutlla.jpeg|'''kōnfitiri''', '''marmelādi''' <52> – konfitura, marmolada, dżem File:Piece of chocolate cake on a white plate decorated with chocolate sauce.jpg|'''lūgis''' <40> – ciasto File:2020-07-26 16 25 26 A sample of Grandma's Mini Chocolate Chip cookies in the Dulles section of Sterling, Loudoun County, Virginia.jpg|'''kepinnis''' <52> – ciastka, herbatniki (''plurale tantum'') File:Strawberry ice cream cone (5076899310).jpg|'''ladāi''' <36> – lody File:Green and Black's dark chocolate bar 2.jpg|'''šokōladi''' <52> – czekolada File:2023 Cukierki Michałki klasyczne.jpg|'''bumbōns''' <32> – cukierek File:Charms Blow Pop (2458474034).jpg|'''lučči''' <52> – lizak </gallery> == Tworzenie słów określających rzeczownik == W języku pruskim zdarza się, że używa się dopełniacza l. pojedynczej słów określających rzeczownik w wyrażeniach, w których w języku polskim rzeczownik byłby określany przez przymiotnik, np.: * '''tōmatis''' zuppi – zupa pomidorowa * '''wanillas''' ladāi – lody waniliowe == Odmiana czasowników ''jeść'' i ''pić'' w cz. teraźniejszym == '''Īstun''' – Jeść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''īma''' |- |Tū '''īsei''' |- |Tāns/Tenā/Sta '''īst''' |- |Mes '''īmai''' |- |Jūs '''ītei''' |- |Tenēi/Tennas '''īst''' |} '''Pūtun''' – Pić {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''pūja''' |- |Tū '''pūja''' |- |Tāns/Tenā/Sta '''pūja''' |- |Mes '''pūjimai''' |- |Jūs '''pūjitei''' |- |Tenēi/Tennas '''pūja''' |} == Przydatne wyrażenia == * '''Per brōkastin/pussideinan/bitasīdin as īma...''' – Na śniadanie/obiad/kolację jem... * '''Sta ast saldan/sūru/rūgtan/kārtan/astran''' – To jest słodkie/słone/kwaśne/gorzkie/ostre. * '''Šī īda ast gardu/nigardu''' – Ta potrawa jest smaczna/niesmaczna. * '''Šī īda ast pagattawintan iz...''' – Ta potrawa jest przygotowana z... * '''Mennei... padīnga''' – Lubię... * '''Mennei... ni padīnga''' – Nie lubię... * '''Ka tū kwaitīlai īstun?''' – Co chciałbyć zjeść? * '''As kwaitīlai īstun...''' – Chciałbym zjeść... * '''As turri kwāitan per...''' – Mam ochotę na... * '''Majā milītasi īda ast...''' – Moja ulubiona potrawa to... * '''Empadīngan!''' – Smacznego! nqc9pzmdy3mo32kcb1sfao0vvtrjx7n 543583 543581 2026-05-20T18:29:58Z Aklbmd164 37133 /* Īdis – Jedzenie */ 543583 wikitext text/x-wiki '''<big>Lakciōni 12</big>''' == Īdis – Jedzenie == === Wēišai – Owoce === <gallery> File:Red Apple.jpg|'''ābli''', '''wūbli''' <52> – jabłko File:Bowl of Blueberries (Unsplash).jpg|'''agā''' <46> – jagoda File:Pineapple in garden.jpg|'''ānanasi''' <52> – ananas File:Sonhar-com-laranja.jpg|'''appelzini''' <52> – pomarańcza File:Banana (white background).jpg|'''banāni''' <52> – banan File:Lemon-Whole-Split.jpg|'''citrōni''' <52> – cytryna File:Pomegranate03 edit.jpg|'''granātasabli''' <52> – granat File:Raspberries05.jpg|'''kamisteni''' <52> – malina File:Kiwi aka.jpg|'''kīwi''' <52> – kiwi File:Coconuts - single and cracked open.jpg|'''kōkusi''' <52> – kokos File:Pear in tree 0465.jpg|'''krāušas''' <50> – gruszka (''plurale tantum'', występuje tylko w l. mnogiej) File:Madarines white bg.jpg|'''mandarīni''' <52> – mandarynka File:Autumn Red peaches.jpg|'''pīrziks''' <32> – brzoskwinia File:Garden strawberry (Fragaria × ananassa).jpg|'''prasseli''' <52> – truskawka File:Damson plum fruit.jpg|'''sliwaītas''' <45> – śliwka (''plurale tantum'') File:Starr-130830-0485-Citrullus lanatus-in half-Hawea Pl Olinda-Maui (25166802001).jpg|'''undasmelōni''' <52> – arbuz File:Table grapes on white.jpg|'''wīnega''' <45> – winogrono File:02024 May Duke Cherry, Beskids mts.jpg|'''wisnaītas''' <45> – wiśnia (''plurale tantum'') </gallery> === Saknis – Warzywa === <gallery> File:Phaseolus vulgaris white beans, witte boon.jpg|'''babba''' <45> – fasola File:Broccoli and cross section edit.jpg|'''brukōlis''' <40> – brokuł File:Potato var. Linda HC1.JPG|'''bulwi''' <52> – ziemniak File:Carrots.JPG|'''burkans''' <32> – marchewka File:CourgettesInBowl.JPG|'''cukīni''' <52> – cukinia File:Cucumber from Denmark.jpg|'''gurki''' <52> – ogórek File:Pisum sativum Горох лущильний - зелений горошок.jpg|'''kekkers''' <33> – groszek File:CabbageBG.JPG|'''kumstas''' <32> – kapusta File:Chou-fleur 02.jpg|'''kweitākumstas''' <32> – kalafior File:Corn 001.jpg|'''majjiss''' <32> – kukurydza File:Red capsicum and cross section.jpg|'''paprika''' <45> – papryka File:Beets-Bundle.jpg|'''rūnkeli''' <50> – burak File:Kropsla herfst.jpg|'''salāts''' <32> – sałata File:Onions.jpg|'''sippeli''' <52> – cebula File:Bright red tomato and cross section02.jpg|'''tōmati''' <52> – pomidor </gallery> === Pūwjai – Napoje === <gallery> File:Cup of tea isolated on white background - Petr Kratochvil (cropped).jpg|'''tējs''' <32> – herbata File:Milk glass.jpg|'''daddan''' <35> – mleko File:Orange juice (3249410157).jpg|'''saks''' <36> – sok File:Glass Half Full bw 1.JPG|'''undan''' <35> – woda File:Drinking glass 00118.gif|'''gazītan undan''' <35> – woda gazowana File:Cup of coffee (Serbian cuisine, Grand kava).jpg|'''kafējs''' <32> – kawa File:Bottle, Wine (Italiano Spumante) (48709467566).jpg|'''wīns''' <32> – wino File:Red Wine Glass.jpg|'''wūrmiwins''' <32> – czerwone wino File:White Wine Glas.jpg|'''gaīlawins''' <32> – białe wino File:NCI Visuals Food Beer.jpg|'''pīws''' <32> – piwo </gallery> === Mēnsa, daddas prōduktai, zirnis prōduktai, preigardāi – Mięso, nabiał, produkty zbożowe, przyprawy === <gallery> File:Red Meat.jpg|'''mēnsa''' <45> – mięso File:Breakfast Ham (53273608095).jpg|'''kūmpis''' <40> – szynka File:Podwawelska ..jpg|'''lāitin''' <37> – kiełbasa File:Nc cheese.jpg|'''sūris''' <40> – ser żółty File:Творог.jpg|'''glumzdi''' <52> – twaróg File:2023 Masło w maselniczce.jpg|'''anktan''' <35> – masło File:Turkish strained yogurt.jpg|'''jōgurts''' <32> – jogurt File:Steamed Buckwheat on a plate.jpg|'''puttera''' <45> – kasza File:Mjøl.jpg|'''miltan''' <35> – mąka File:HK food ingredient texture of Alberto Poiatti Italian brand 直通粉 penne rigate yellow September 2021 SS2 02.jpg|'''nūdelis''' <52> → makaron (''plurale tantum'') File:Anadama bread (1).jpg|'''geīts''' <58> – chleb File:13-08-31-Kochtreffen-Wien-RalfR-N3S 7849-024.jpg|'''traskeīlis''' <40> – bułka File:Fancy raw mixed nuts macro.jpg|'''reīss''' <36> – orzech File:Eierdoosmet10eierengevuld2010.jpg|'''pāuts''' <32> – jajko File:Salt shaker on white background.jpg|'''sāls''' <60> – sól File:Black Pepper IMG 4866.jpg|'''pippars''' <32> – pieprz File:Heinz Tomato Ketchup (51266256693).jpg|'''ketšups''' <32> – keczup File:Zaanse mayonaise.jpg|'''majōnezi''' <52> – majonez File:Los Gallitos - October 31 2022 - Sarah Stierch 03.jpg|'''pamārka''' <45> – sos </gallery> === Īdas – Potrawy === <gallery> File:0003 kotlet schabowy 2013, photo by Silar.JPG|'''karmenādi''' <52> – kotlet File:Plated grilled fish (cropped).jpg|'''zuks''' <32> – ryba File:Scrambed eggs.jpg|'''pautinni''' <52> – jajecznica File:Egg Sandwich.jpg|'''geītka''' <45> – kanapka File:French fries (6211716064).jpg|'''frittis''' <52> – frytki (''plurale tantum'') File:Pizza napoletana.jpg|'''picca''' <45> – pizza File:Swedish pancakes.jpg|'''kalsā''' <46> – naleśnik, blin File:Zupa ogórkowa - 2024.05.29.jpg|'''zuppi''' <52> – zupa File:Rosół - 2024.11.03.jpg|'''jūsi''' <52> – rosół, bulion File:Vegetable salad, Christmas Eve dinner in Brisbane, Australia, 2023.jpg|'''mišmašs''' <32> – sałatka jarzynowa </gallery> === Saldiskāi – Słodycze === <gallery> File:Sugar-485057.jpg|'''cukkeris''' <40> – cukier File:MielCristalizada.jpg|'''meddu''' <44> – miód File:Mermelada de frutlla.jpeg|'''kōnfitiri''', '''marmelādi''' <52> – konfitura, marmolada, dżem File:Piece of chocolate cake on a white plate decorated with chocolate sauce.jpg|'''lūgis''' <40> – ciasto File:2020-07-26 16 25 26 A sample of Grandma's Mini Chocolate Chip cookies in the Dulles section of Sterling, Loudoun County, Virginia.jpg|'''kepinnis''' <52> – ciastka, herbatniki (''plurale tantum'') File:Strawberry ice cream cone (5076899310).jpg|'''ladāi''' <36> – lody File:Green and Black's dark chocolate bar 2.jpg|'''šokōladi''' <52> – czekolada File:2023 Cukierki Michałki klasyczne.jpg|'''bumbōns''' <32> – cukierek File:Charms Blow Pop (2458474034).jpg|'''lučči''' <52> – lizak </gallery> == Tworzenie słów określających rzeczownik == W języku pruskim zdarza się, że używa się dopełniacza l. pojedynczej słów określających rzeczownik w wyrażeniach, w których w języku polskim rzeczownik byłby określany przez przymiotnik, np.: * '''tōmatis''' zuppi – zupa pomidorowa * '''wanillas''' ladāi – lody waniliowe == Odmiana czasowników ''jeść'' i ''pić'' w cz. teraźniejszym == '''Īstun''' – Jeść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''īma''' |- |Tū '''īsei''' |- |Tāns/Tenā/Sta '''īst''' |- |Mes '''īmai''' |- |Jūs '''ītei''' |- |Tenēi/Tennas '''īst''' |} '''Pūtun''' – Pić {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''pūja''' |- |Tū '''pūja''' |- |Tāns/Tenā/Sta '''pūja''' |- |Mes '''pūjimai''' |- |Jūs '''pūjitei''' |- |Tenēi/Tennas '''pūja''' |} == Przydatne wyrażenia == * '''Per brōkastin/pussideinan/bitasīdin as īma...''' – Na śniadanie/obiad/kolację jem... * '''Sta ast saldan/sūru/rūgtan/kārtan/astran''' – To jest słodkie/słone/kwaśne/gorzkie/ostre. * '''Šī īda ast gardu/nigardu''' – Ta potrawa jest smaczna/niesmaczna. * '''Šī īda ast pagattawintan iz...''' – Ta potrawa jest przygotowana z... * '''Mennei... padīnga''' – Lubię... * '''Mennei... ni padīnga''' – Nie lubię... * '''Ka tū kwaitīlai īstun?''' – Co chciałbyć zjeść? * '''As kwaitīlai īstun...''' – Chciałbym zjeść... * '''As turri kwāitan per...''' – Mam ochotę na... * '''Majā milītasi īda ast...''' – Moja ulubiona potrawa to... * '''Empadīngan!''' – Smacznego! 5ou28gjrpcq34670pifzjouch6wwl0d Pruski/Lekcja13 0 61048 543585 543011 2026-05-20T18:39:16Z Aklbmd164 37133 /* Tworzenie nazw żeńskich zawodów */ 543585 wikitext text/x-wiki '''<big>Lakciōni 13</big>''' == Deiktāi en mīstu be prōfesiōnis – Miejsca w mieście i zawody == === Deiktāi en mīstu === <gallery> File:Gifford State Bank.jpg|'''bānki''' <52> – bank File:Caffeena café storefront at NOMO, Bacoor, Cavite — 25 Feb 2022.jpg|'''kafēbutan''' <35> – kawiarnia File:Novo-Cinemas-Book-Movie-Tickets-Doha-Qatar (5).jpg|'''kintùps''' <32> – kino File:Hospital in Volgograd 001.jpg|'''špitlin''' <37> – szpital File:Hotel Kiljava.jpg|'''hōtels''' <32> – hotel File:Princeton University Art Museum Ancient Mediterranean Art Gallery.jpg|'''muzējan''' <35a> – muzeum File:Park Środula, Sosnowiec, Jesień 2021.jpg|'''parks''' <32> – park File:The interior of an Olive Garden restaurant 04.jpg|'''restaurānts''' <56> – restauracja File:A public school, high school classroom in the United States 02.jpg|'''skūli''' <52> – szkoła File:In the Grocers - geograph.org.uk - 7767639.jpg|'''kāupabutan''' <35> – sklep File:Supermarket z flagami (ubt).JPG|'''sūpermarkets''' <32> – supermarket File:San Diego Zoo entrance elephant.jpg|'''zoō''' (r. nijaki, nie odmienia się) – zoo File:17-05-30-M R Štefánik Airport- RR71498.jpg|'''skrāistaustin''' <37> – lotnisko File:Rennes - Librairie Le Failler - 20250212 (2).jpg|'''laiskeīns''' <32> – księgarnia File:Inverness Bus Station... - geograph.org.uk - 7774844.jpg|'''autōbusadwars''' <32> – dworzec autobusowy File:20180710 165312 pharmacy lodz july 2018.jpg|'''apōteki''' <52> – apteka File:Saint Catherine Catholic Church in Boulder Montana.jpg|'''kīrki''' <52> – kościół File:Laukaa Main Library interior 2.jpg|'''bibliōteki''' <52> – biblioteka File:Wiślica Poczta (1).jpg|'''pusti''' <52> – poczta File:Stazione di Milano Centrale (10745653534).jpg|'''gelzāpintisdwars''' <32> – dworzec kolejowy File:Gran Teatro de la Habana interior.jpg|'''teāteris''' <40> – teatr File:Admiral Street Fire Station Providence RI.jpg|'''ugnisar̀gawa''' <45> – remiza strażacka File:A view of a bakery in Berlin, Germany.jpg|'''umnudi''' <52> – piekarnia File:Sweetie Pies Bakery - December 2024 - Sarah Stierch 02.jpg|'''kōnditaraja''' <45> – cukiernia File:Port Elizabeth City Hall, front facade.jpg|'''rādasbutan''' <35> – ratusz File:Shell petrol stations in the Philippines (June 2023) 04.jpg|'''degalaīns''' <32> – stacja benzynowa </gallery> === Prōfesiōnis === <gallery> File:Dr. Soumya Guha in an Operation Theatre.jpg|'''ārsti''' <54> – lekarz File:A college professor teaching in a university classroom full of students in Tennessee, United States 08.jpg|'''mukinnewis''' <40> – nauczyciel File:Arcata firefighter Spraying water at a fire.jpg|'''ugnisar̀giskeniks''' <32> – strażak File:HH Polizeihauptmeister MZ.jpg|'''pōlicists''' <32> – policjant File:Diana Ellis - 19 Oct 2011.jpg|'''adwōkats''' <32> – adwokat File:Ohio farmer David Brandt.jpg|'''būrs''' <32> – rolnik File:Barnraisers working together to construct WOW Barn. LEEDS 2023.jpg|'''zēistajs''' <32> – budowlaniec File:091018 MerchantofVenice 161.jpg|'''aktōrs''' <32> – aktor File:Chef cuisinier.jpg|'''kukūris''' <40> – kucharz File:Ingenieur reseaux.jpg|'''infōrmatikeris''' <40> – informatyk File:Fönsterputsning - Window cleaner - Ystad-2025.jpg|'''gewinīs''' <38> – sprzątacz File:Flower seller at the Rabat open market - Il-Monti.jpg|'''perdātajs''' <32> – sprzedawca File:Waiter in a restaurant, Paris 2011.jpg|'''prickus''' <42> – kelner; portier File:Khuraman Ismayilova.jpg|'''bibliōtekars''' <32> – bibliotekarz File:Truckdriver.jpg|'''štīritajs''' <32> – kierowca File:Battesimi0113.jpg|'''nōseilaniks''' <32> – ksiądz File:Baker Oslo.jpg|'''pekūris''' <40> – piekarz </gallery> == Tworzenie nazw zawodów == === Nazwy męskie === Nazwy męskie zawodów w języku pruskim można utworzyć poprzez m.in. utworzenie z czasownika rzeczownika oznaczającego wykonawcę czynności, np.: * perdā<span style="color:red">tun</span> (sprzedać) ⇒ perdā<span style="color:red">tajs</span> (sprzedawca) * štīri<span style="color:red">tun</span> (kierować, prowdzić) ⇒ štīri<span style="color:red">tajs</span> (kierowca) === Nazwy żeńskie === Nazwy żeńskie zawodów tworzy się w języku pruskim na trzy główne sposoby:<br> * ''-tajs'' ⇒ ''-taja'', np.: ** perdā<span style="color:red">tajs</span> ⇒ perdā<span style="color:red">taja</span> ** štīri<span style="color:red">tajs</span> ⇒ štīri<span style="color:red">taja</span> * ''-s/-is'' ⇒ ''-ini'', np.: ** bibliōtekar<span style="color:red">s</span> ⇒ bibliōtekar<span style="color:red">ini</span> ** infōrmatiker<span style="color:red">is</span> ⇒ infōrmatiker<span style="color:red">ini</span> * ''-is'' ⇒ ''-i'', np.: ** mukinnew<span style="color:red">is</span> ⇒ mukinnew<span style="color:red">i</span> ** kukūr<span style="color:red">is</span> ⇒ kukūr<span style="color:red">i</span> Wyjątek: aktrīsi (aktorka) == Odmiana czasowników ''iść'' i ''pracować'' w cz. teraźniejszym == '''Ēitwei''' – Iść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''ēima''' |- |Tū '''ēisei''' |- |Tāns/Tenā/Sta '''ēit''' |- |Mes '''ēimai''' |- |Jūs '''ēitei''' |- |Tenēi/Tennas '''ēit''' |} '''Dīlatwei''' – Pracować {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''dīlai''' |- |Tū '''dīlai''' |- |Tāns/Tenā/Sta '''dīlai''' |- |Mes '''dīlaimai''' |- |Jūs '''dīlaitei''' |- |Tenēi/Tennas '''dīlai''' |} Czasownik ''dīlatwei'' oznacza również ''działać'' (np. urządzenie). == Przydatne wyrażenia == * '''As ēima en kāupabutan/skūlin/bibliōtekin''' – Idę do sklepu/szkoły/biblioteki. * '''As dīlai en kāupabutu/skūlai/bibliōtekei''' – Pracuję w sklepie/szkole/bibliotece. * '''As dīlai kāigi perdātajs/mukinnewis/bibliōtekars''' – Pracuję jako sprzedawca/nauczyciel/bibliotekarz. * '''En perejīngiskwai as kwāi wīrstwei perdātajs/mukinnewis/bibliōtekars''' – W przyszłości chcę zostać sprzedawcą/nauczycielem/bibliotekarzem. * '''Etwinūis, kāigi as mazzi preikakīntun si prei autōbusadwaran/pustin/umnudin?''' – Przepraszam, jak mogę dotrzeć na dworzec autobusowy/na pocztę/do piekarni? * '''Jaīs tikriskai be panzdau wartinnais si prei tikrai/kāirai''' – Idź prosto, a następnie skręć w prawo/lewo. * '''Kwēi ukataūwaisis hōtels/sūpermarkets/degalaīns ast?''' – Gdzie jest najbliższy hotel/najbliższy supermarket/najbliższa stacja benzynowa? 5kfkc1hncn2cyitynlcp3gsraztgpp9 543587 543585 2026-05-20T18:40:24Z Aklbmd164 37133 /* Nazwy żeńskie */ 543587 wikitext text/x-wiki '''<big>Lakciōni 13</big>''' == Deiktāi en mīstu be prōfesiōnis – Miejsca w mieście i zawody == === Deiktāi en mīstu === <gallery> File:Gifford State Bank.jpg|'''bānki''' <52> – bank File:Caffeena café storefront at NOMO, Bacoor, Cavite — 25 Feb 2022.jpg|'''kafēbutan''' <35> – kawiarnia File:Novo-Cinemas-Book-Movie-Tickets-Doha-Qatar (5).jpg|'''kintùps''' <32> – kino File:Hospital in Volgograd 001.jpg|'''špitlin''' <37> – szpital File:Hotel Kiljava.jpg|'''hōtels''' <32> – hotel File:Princeton University Art Museum Ancient Mediterranean Art Gallery.jpg|'''muzējan''' <35a> – muzeum File:Park Środula, Sosnowiec, Jesień 2021.jpg|'''parks''' <32> – park File:The interior of an Olive Garden restaurant 04.jpg|'''restaurānts''' <56> – restauracja File:A public school, high school classroom in the United States 02.jpg|'''skūli''' <52> – szkoła File:In the Grocers - geograph.org.uk - 7767639.jpg|'''kāupabutan''' <35> – sklep File:Supermarket z flagami (ubt).JPG|'''sūpermarkets''' <32> – supermarket File:San Diego Zoo entrance elephant.jpg|'''zoō''' (r. nijaki, nie odmienia się) – zoo File:17-05-30-M R Štefánik Airport- RR71498.jpg|'''skrāistaustin''' <37> – lotnisko File:Rennes - Librairie Le Failler - 20250212 (2).jpg|'''laiskeīns''' <32> – księgarnia File:Inverness Bus Station... - geograph.org.uk - 7774844.jpg|'''autōbusadwars''' <32> – dworzec autobusowy File:20180710 165312 pharmacy lodz july 2018.jpg|'''apōteki''' <52> – apteka File:Saint Catherine Catholic Church in Boulder Montana.jpg|'''kīrki''' <52> – kościół File:Laukaa Main Library interior 2.jpg|'''bibliōteki''' <52> – biblioteka File:Wiślica Poczta (1).jpg|'''pusti''' <52> – poczta File:Stazione di Milano Centrale (10745653534).jpg|'''gelzāpintisdwars''' <32> – dworzec kolejowy File:Gran Teatro de la Habana interior.jpg|'''teāteris''' <40> – teatr File:Admiral Street Fire Station Providence RI.jpg|'''ugnisar̀gawa''' <45> – remiza strażacka File:A view of a bakery in Berlin, Germany.jpg|'''umnudi''' <52> – piekarnia File:Sweetie Pies Bakery - December 2024 - Sarah Stierch 02.jpg|'''kōnditaraja''' <45> – cukiernia File:Port Elizabeth City Hall, front facade.jpg|'''rādasbutan''' <35> – ratusz File:Shell petrol stations in the Philippines (June 2023) 04.jpg|'''degalaīns''' <32> – stacja benzynowa </gallery> === Prōfesiōnis === <gallery> File:Dr. Soumya Guha in an Operation Theatre.jpg|'''ārsti''' <54> – lekarz File:A college professor teaching in a university classroom full of students in Tennessee, United States 08.jpg|'''mukinnewis''' <40> – nauczyciel File:Arcata firefighter Spraying water at a fire.jpg|'''ugnisar̀giskeniks''' <32> – strażak File:HH Polizeihauptmeister MZ.jpg|'''pōlicists''' <32> – policjant File:Diana Ellis - 19 Oct 2011.jpg|'''adwōkats''' <32> – adwokat File:Ohio farmer David Brandt.jpg|'''būrs''' <32> – rolnik File:Barnraisers working together to construct WOW Barn. LEEDS 2023.jpg|'''zēistajs''' <32> – budowlaniec File:091018 MerchantofVenice 161.jpg|'''aktōrs''' <32> – aktor File:Chef cuisinier.jpg|'''kukūris''' <40> – kucharz File:Ingenieur reseaux.jpg|'''infōrmatikeris''' <40> – informatyk File:Fönsterputsning - Window cleaner - Ystad-2025.jpg|'''gewinīs''' <38> – sprzątacz File:Flower seller at the Rabat open market - Il-Monti.jpg|'''perdātajs''' <32> – sprzedawca File:Waiter in a restaurant, Paris 2011.jpg|'''prickus''' <42> – kelner; portier File:Khuraman Ismayilova.jpg|'''bibliōtekars''' <32> – bibliotekarz File:Truckdriver.jpg|'''štīritajs''' <32> – kierowca File:Battesimi0113.jpg|'''nōseilaniks''' <32> – ksiądz File:Baker Oslo.jpg|'''pekūris''' <40> – piekarz </gallery> == Tworzenie nazw zawodów == === Nazwy męskie === Nazwy męskie zawodów w języku pruskim można utworzyć poprzez m.in. utworzenie z czasownika rzeczownika oznaczającego wykonawcę czynności, np.: * perdā<span style="color:red">tun</span> (sprzedać) ⇒ perdā<span style="color:red">tajs</span> (sprzedawca) * štīri<span style="color:red">tun</span> (kierować, prowdzić) ⇒ štīri<span style="color:red">tajs</span> (kierowca) === Nazwy żeńskie === Nazwy żeńskie zawodów tworzy się w języku pruskim na trzy główne sposoby:<br> ''-tajs'' ⇒ ''-taja'', np.: * perdā<span style="color:red">tajs</span> ⇒ perdā<span style="color:red">taja</span> * štīri<span style="color:red">tajs</span> ⇒ štīri<span style="color:red">taja</span> ''-s/-is'' ⇒ ''-ini'', np.: * bibliōtekar<span style="color:red">s</span> ⇒ bibliōtekar<span style="color:red">ini</span> * infōrmatiker<span style="color:red">is</span> ⇒ infōrmatiker<span style="color:red">ini</span> ''-is'' ⇒ ''-i'', np.: * mukinnew<span style="color:red">is</span> ⇒ mukinnew<span style="color:red">i</span> * kukūr<span style="color:red">is</span> ⇒ kukūr<span style="color:red">i</span> Wyjątek: aktrīsi (aktorka) == Odmiana czasowników ''iść'' i ''pracować'' w cz. teraźniejszym == '''Ēitwei''' – Iść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''ēima''' |- |Tū '''ēisei''' |- |Tāns/Tenā/Sta '''ēit''' |- |Mes '''ēimai''' |- |Jūs '''ēitei''' |- |Tenēi/Tennas '''ēit''' |} '''Dīlatwei''' – Pracować {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''dīlai''' |- |Tū '''dīlai''' |- |Tāns/Tenā/Sta '''dīlai''' |- |Mes '''dīlaimai''' |- |Jūs '''dīlaitei''' |- |Tenēi/Tennas '''dīlai''' |} Czasownik ''dīlatwei'' oznacza również ''działać'' (np. urządzenie). == Przydatne wyrażenia == * '''As ēima en kāupabutan/skūlin/bibliōtekin''' – Idę do sklepu/szkoły/biblioteki. * '''As dīlai en kāupabutu/skūlai/bibliōtekei''' – Pracuję w sklepie/szkole/bibliotece. * '''As dīlai kāigi perdātajs/mukinnewis/bibliōtekars''' – Pracuję jako sprzedawca/nauczyciel/bibliotekarz. * '''En perejīngiskwai as kwāi wīrstwei perdātajs/mukinnewis/bibliōtekars''' – W przyszłości chcę zostać sprzedawcą/nauczycielem/bibliotekarzem. * '''Etwinūis, kāigi as mazzi preikakīntun si prei autōbusadwaran/pustin/umnudin?''' – Przepraszam, jak mogę dotrzeć na dworzec autobusowy/na pocztę/do piekarni? * '''Jaīs tikriskai be panzdau wartinnais si prei tikrai/kāirai''' – Idź prosto, a następnie skręć w prawo/lewo. * '''Kwēi ukataūwaisis hōtels/sūpermarkets/degalaīns ast?''' – Gdzie jest najbliższy hotel/najbliższy supermarket/najbliższa stacja benzynowa? fkeqcxqwhx22la97iqe5qvhtp0c44cu 543588 543587 2026-05-20T18:44:20Z Aklbmd164 37133 /* Nazwy męskie */ 543588 wikitext text/x-wiki '''<big>Lakciōni 13</big>''' == Deiktāi en mīstu be prōfesiōnis – Miejsca w mieście i zawody == === Deiktāi en mīstu === <gallery> File:Gifford State Bank.jpg|'''bānki''' <52> – bank File:Caffeena café storefront at NOMO, Bacoor, Cavite — 25 Feb 2022.jpg|'''kafēbutan''' <35> – kawiarnia File:Novo-Cinemas-Book-Movie-Tickets-Doha-Qatar (5).jpg|'''kintùps''' <32> – kino File:Hospital in Volgograd 001.jpg|'''špitlin''' <37> – szpital File:Hotel Kiljava.jpg|'''hōtels''' <32> – hotel File:Princeton University Art Museum Ancient Mediterranean Art Gallery.jpg|'''muzējan''' <35a> – muzeum File:Park Środula, Sosnowiec, Jesień 2021.jpg|'''parks''' <32> – park File:The interior of an Olive Garden restaurant 04.jpg|'''restaurānts''' <56> – restauracja File:A public school, high school classroom in the United States 02.jpg|'''skūli''' <52> – szkoła File:In the Grocers - geograph.org.uk - 7767639.jpg|'''kāupabutan''' <35> – sklep File:Supermarket z flagami (ubt).JPG|'''sūpermarkets''' <32> – supermarket File:San Diego Zoo entrance elephant.jpg|'''zoō''' (r. nijaki, nie odmienia się) – zoo File:17-05-30-M R Štefánik Airport- RR71498.jpg|'''skrāistaustin''' <37> – lotnisko File:Rennes - Librairie Le Failler - 20250212 (2).jpg|'''laiskeīns''' <32> – księgarnia File:Inverness Bus Station... - geograph.org.uk - 7774844.jpg|'''autōbusadwars''' <32> – dworzec autobusowy File:20180710 165312 pharmacy lodz july 2018.jpg|'''apōteki''' <52> – apteka File:Saint Catherine Catholic Church in Boulder Montana.jpg|'''kīrki''' <52> – kościół File:Laukaa Main Library interior 2.jpg|'''bibliōteki''' <52> – biblioteka File:Wiślica Poczta (1).jpg|'''pusti''' <52> – poczta File:Stazione di Milano Centrale (10745653534).jpg|'''gelzāpintisdwars''' <32> – dworzec kolejowy File:Gran Teatro de la Habana interior.jpg|'''teāteris''' <40> – teatr File:Admiral Street Fire Station Providence RI.jpg|'''ugnisar̀gawa''' <45> – remiza strażacka File:A view of a bakery in Berlin, Germany.jpg|'''umnudi''' <52> – piekarnia File:Sweetie Pies Bakery - December 2024 - Sarah Stierch 02.jpg|'''kōnditaraja''' <45> – cukiernia File:Port Elizabeth City Hall, front facade.jpg|'''rādasbutan''' <35> – ratusz File:Shell petrol stations in the Philippines (June 2023) 04.jpg|'''degalaīns''' <32> – stacja benzynowa </gallery> === Prōfesiōnis === <gallery> File:Dr. Soumya Guha in an Operation Theatre.jpg|'''ārsti''' <54> – lekarz File:A college professor teaching in a university classroom full of students in Tennessee, United States 08.jpg|'''mukinnewis''' <40> – nauczyciel File:Arcata firefighter Spraying water at a fire.jpg|'''ugnisar̀giskeniks''' <32> – strażak File:HH Polizeihauptmeister MZ.jpg|'''pōlicists''' <32> – policjant File:Diana Ellis - 19 Oct 2011.jpg|'''adwōkats''' <32> – adwokat File:Ohio farmer David Brandt.jpg|'''būrs''' <32> – rolnik File:Barnraisers working together to construct WOW Barn. LEEDS 2023.jpg|'''zēistajs''' <32> – budowlaniec File:091018 MerchantofVenice 161.jpg|'''aktōrs''' <32> – aktor File:Chef cuisinier.jpg|'''kukūris''' <40> – kucharz File:Ingenieur reseaux.jpg|'''infōrmatikeris''' <40> – informatyk File:Fönsterputsning - Window cleaner - Ystad-2025.jpg|'''gewinīs''' <38> – sprzątacz File:Flower seller at the Rabat open market - Il-Monti.jpg|'''perdātajs''' <32> – sprzedawca File:Waiter in a restaurant, Paris 2011.jpg|'''prickus''' <42> – kelner; portier File:Khuraman Ismayilova.jpg|'''bibliōtekars''' <32> – bibliotekarz File:Truckdriver.jpg|'''štīritajs''' <32> – kierowca File:Battesimi0113.jpg|'''nōseilaniks''' <32> – ksiądz File:Baker Oslo.jpg|'''pekūris''' <40> – piekarz </gallery> == Tworzenie nazw zawodów == === Nazwy męskie === Nazwy męskie zawodów w języku pruskim można utworzyć poprzez m.in. utworzenie z czasownika rzeczownika oznaczającego wykonawcę czynności, np.: * perdā<span style="color:red">tun</span> (sprzedać) ⇒ perdā<span style="color:red">tajs</span> (sprzedawca) * štīri<span style="color:red">tun</span> (kierować, prowdzić) ⇒ štīri<span style="color:red">tajs</span> (kierowca) Część nazw zawodów zapożycza się z języka niemieckiego, i spruszcza je dodając końcówkę ''-is'', np.: * infōrmatiker<u>is</u> (z ''niem.'' Informatiker) === Nazwy żeńskie === Nazwy żeńskie zawodów tworzy się w języku pruskim na trzy główne sposoby:<br> ''-tajs'' ⇒ ''-taja'', np.: * perdā<span style="color:red">tajs</span> ⇒ perdā<span style="color:red">taja</span> * štīri<span style="color:red">tajs</span> ⇒ štīri<span style="color:red">taja</span> ''-s/-is'' ⇒ ''-ini'', np.: * bibliōtekar<span style="color:red">s</span> ⇒ bibliōtekar<span style="color:red">ini</span> * infōrmatiker<span style="color:red">is</span> ⇒ infōrmatiker<span style="color:red">ini</span> ''-is'' ⇒ ''-i'', np.: * mukinnew<span style="color:red">is</span> ⇒ mukinnew<span style="color:red">i</span> * kukūr<span style="color:red">is</span> ⇒ kukūr<span style="color:red">i</span> Wyjątek: aktrīsi (aktorka) == Odmiana czasowników ''iść'' i ''pracować'' w cz. teraźniejszym == '''Ēitwei''' – Iść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''ēima''' |- |Tū '''ēisei''' |- |Tāns/Tenā/Sta '''ēit''' |- |Mes '''ēimai''' |- |Jūs '''ēitei''' |- |Tenēi/Tennas '''ēit''' |} '''Dīlatwei''' – Pracować {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''dīlai''' |- |Tū '''dīlai''' |- |Tāns/Tenā/Sta '''dīlai''' |- |Mes '''dīlaimai''' |- |Jūs '''dīlaitei''' |- |Tenēi/Tennas '''dīlai''' |} Czasownik ''dīlatwei'' oznacza również ''działać'' (np. urządzenie). == Przydatne wyrażenia == * '''As ēima en kāupabutan/skūlin/bibliōtekin''' – Idę do sklepu/szkoły/biblioteki. * '''As dīlai en kāupabutu/skūlai/bibliōtekei''' – Pracuję w sklepie/szkole/bibliotece. * '''As dīlai kāigi perdātajs/mukinnewis/bibliōtekars''' – Pracuję jako sprzedawca/nauczyciel/bibliotekarz. * '''En perejīngiskwai as kwāi wīrstwei perdātajs/mukinnewis/bibliōtekars''' – W przyszłości chcę zostać sprzedawcą/nauczycielem/bibliotekarzem. * '''Etwinūis, kāigi as mazzi preikakīntun si prei autōbusadwaran/pustin/umnudin?''' – Przepraszam, jak mogę dotrzeć na dworzec autobusowy/na pocztę/do piekarni? * '''Jaīs tikriskai be panzdau wartinnais si prei tikrai/kāirai''' – Idź prosto, a następnie skręć w prawo/lewo. * '''Kwēi ukataūwaisis hōtels/sūpermarkets/degalaīns ast?''' – Gdzie jest najbliższy hotel/najbliższy supermarket/najbliższa stacja benzynowa? 8hx02r5hpmr5rtdotpwakho5l7pznje 543602 543588 2026-05-20T20:12:41Z Aklbmd164 37133 /* Nazwy męskie */ 543602 wikitext text/x-wiki '''<big>Lakciōni 13</big>''' == Deiktāi en mīstu be prōfesiōnis – Miejsca w mieście i zawody == === Deiktāi en mīstu === <gallery> File:Gifford State Bank.jpg|'''bānki''' <52> – bank File:Caffeena café storefront at NOMO, Bacoor, Cavite — 25 Feb 2022.jpg|'''kafēbutan''' <35> – kawiarnia File:Novo-Cinemas-Book-Movie-Tickets-Doha-Qatar (5).jpg|'''kintùps''' <32> – kino File:Hospital in Volgograd 001.jpg|'''špitlin''' <37> – szpital File:Hotel Kiljava.jpg|'''hōtels''' <32> – hotel File:Princeton University Art Museum Ancient Mediterranean Art Gallery.jpg|'''muzējan''' <35a> – muzeum File:Park Środula, Sosnowiec, Jesień 2021.jpg|'''parks''' <32> – park File:The interior of an Olive Garden restaurant 04.jpg|'''restaurānts''' <56> – restauracja File:A public school, high school classroom in the United States 02.jpg|'''skūli''' <52> – szkoła File:In the Grocers - geograph.org.uk - 7767639.jpg|'''kāupabutan''' <35> – sklep File:Supermarket z flagami (ubt).JPG|'''sūpermarkets''' <32> – supermarket File:San Diego Zoo entrance elephant.jpg|'''zoō''' (r. nijaki, nie odmienia się) – zoo File:17-05-30-M R Štefánik Airport- RR71498.jpg|'''skrāistaustin''' <37> – lotnisko File:Rennes - Librairie Le Failler - 20250212 (2).jpg|'''laiskeīns''' <32> – księgarnia File:Inverness Bus Station... - geograph.org.uk - 7774844.jpg|'''autōbusadwars''' <32> – dworzec autobusowy File:20180710 165312 pharmacy lodz july 2018.jpg|'''apōteki''' <52> – apteka File:Saint Catherine Catholic Church in Boulder Montana.jpg|'''kīrki''' <52> – kościół File:Laukaa Main Library interior 2.jpg|'''bibliōteki''' <52> – biblioteka File:Wiślica Poczta (1).jpg|'''pusti''' <52> – poczta File:Stazione di Milano Centrale (10745653534).jpg|'''gelzāpintisdwars''' <32> – dworzec kolejowy File:Gran Teatro de la Habana interior.jpg|'''teāteris''' <40> – teatr File:Admiral Street Fire Station Providence RI.jpg|'''ugnisar̀gawa''' <45> – remiza strażacka File:A view of a bakery in Berlin, Germany.jpg|'''umnudi''' <52> – piekarnia File:Sweetie Pies Bakery - December 2024 - Sarah Stierch 02.jpg|'''kōnditaraja''' <45> – cukiernia File:Port Elizabeth City Hall, front facade.jpg|'''rādasbutan''' <35> – ratusz File:Shell petrol stations in the Philippines (June 2023) 04.jpg|'''degalaīns''' <32> – stacja benzynowa </gallery> === Prōfesiōnis === <gallery> File:Dr. Soumya Guha in an Operation Theatre.jpg|'''ārsti''' <54> – lekarz File:A college professor teaching in a university classroom full of students in Tennessee, United States 08.jpg|'''mukinnewis''' <40> – nauczyciel File:Arcata firefighter Spraying water at a fire.jpg|'''ugnisar̀giskeniks''' <32> – strażak File:HH Polizeihauptmeister MZ.jpg|'''pōlicists''' <32> – policjant File:Diana Ellis - 19 Oct 2011.jpg|'''adwōkats''' <32> – adwokat File:Ohio farmer David Brandt.jpg|'''būrs''' <32> – rolnik File:Barnraisers working together to construct WOW Barn. LEEDS 2023.jpg|'''zēistajs''' <32> – budowlaniec File:091018 MerchantofVenice 161.jpg|'''aktōrs''' <32> – aktor File:Chef cuisinier.jpg|'''kukūris''' <40> – kucharz File:Ingenieur reseaux.jpg|'''infōrmatikeris''' <40> – informatyk File:Fönsterputsning - Window cleaner - Ystad-2025.jpg|'''gewinīs''' <38> – sprzątacz File:Flower seller at the Rabat open market - Il-Monti.jpg|'''perdātajs''' <32> – sprzedawca File:Waiter in a restaurant, Paris 2011.jpg|'''prickus''' <42> – kelner; portier File:Khuraman Ismayilova.jpg|'''bibliōtekars''' <32> – bibliotekarz File:Truckdriver.jpg|'''štīritajs''' <32> – kierowca File:Battesimi0113.jpg|'''nōseilaniks''' <32> – ksiądz File:Baker Oslo.jpg|'''pekūris''' <40> – piekarz </gallery> == Tworzenie nazw zawodów == === Nazwy męskie === Nazwy męskie zawodów w języku pruskim można utworzyć poprzez m.in. utworzenie z czasownika rzeczownika oznaczającego wykonawcę czynności, np.: * perdā<span style="color:red">tun</span> (sprzedać) ⇒ perdā<span style="color:red">tajs</span> (sprzedawca) * štīri<span style="color:red">tun</span> (kierować, prowdzić) ⇒ štīri<span style="color:red">tajs</span> (kierowca) Część nazw zawodów zapożycza się z języka niemieckiego, i spruszcza się je dodając końcówkę ''-is'', np.: * infōrmatiker<u>is</u> (z ''niem.'' Informatiker) * pōlitiker<u>is</u> (z ''niem.'' Politiker) * apōteker<u>is</u> (z ''niem.'' Apotheker) === Nazwy żeńskie === Nazwy żeńskie zawodów tworzy się w języku pruskim na trzy główne sposoby:<br> ''-tajs'' ⇒ ''-taja'', np.: * perdā<span style="color:red">tajs</span> ⇒ perdā<span style="color:red">taja</span> * štīri<span style="color:red">tajs</span> ⇒ štīri<span style="color:red">taja</span> ''-s/-is'' ⇒ ''-ini'', np.: * bibliōtekar<span style="color:red">s</span> ⇒ bibliōtekar<span style="color:red">ini</span> * infōrmatiker<span style="color:red">is</span> ⇒ infōrmatiker<span style="color:red">ini</span> ''-is'' ⇒ ''-i'', np.: * mukinnew<span style="color:red">is</span> ⇒ mukinnew<span style="color:red">i</span> * kukūr<span style="color:red">is</span> ⇒ kukūr<span style="color:red">i</span> Wyjątek: aktrīsi (aktorka) == Odmiana czasowników ''iść'' i ''pracować'' w cz. teraźniejszym == '''Ēitwei''' – Iść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''ēima''' |- |Tū '''ēisei''' |- |Tāns/Tenā/Sta '''ēit''' |- |Mes '''ēimai''' |- |Jūs '''ēitei''' |- |Tenēi/Tennas '''ēit''' |} '''Dīlatwei''' – Pracować {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''dīlai''' |- |Tū '''dīlai''' |- |Tāns/Tenā/Sta '''dīlai''' |- |Mes '''dīlaimai''' |- |Jūs '''dīlaitei''' |- |Tenēi/Tennas '''dīlai''' |} Czasownik ''dīlatwei'' oznacza również ''działać'' (np. urządzenie). == Przydatne wyrażenia == * '''As ēima en kāupabutan/skūlin/bibliōtekin''' – Idę do sklepu/szkoły/biblioteki. * '''As dīlai en kāupabutu/skūlai/bibliōtekei''' – Pracuję w sklepie/szkole/bibliotece. * '''As dīlai kāigi perdātajs/mukinnewis/bibliōtekars''' – Pracuję jako sprzedawca/nauczyciel/bibliotekarz. * '''En perejīngiskwai as kwāi wīrstwei perdātajs/mukinnewis/bibliōtekars''' – W przyszłości chcę zostać sprzedawcą/nauczycielem/bibliotekarzem. * '''Etwinūis, kāigi as mazzi preikakīntun si prei autōbusadwaran/pustin/umnudin?''' – Przepraszam, jak mogę dotrzeć na dworzec autobusowy/na pocztę/do piekarni? * '''Jaīs tikriskai be panzdau wartinnais si prei tikrai/kāirai''' – Idź prosto, a następnie skręć w prawo/lewo. * '''Kwēi ukataūwaisis hōtels/sūpermarkets/degalaīns ast?''' – Gdzie jest najbliższy hotel/najbliższy supermarket/najbliższa stacja benzynowa? pkmxftcp4axk3mk73w5j763l7ajcsbr 543603 543602 2026-05-20T20:27:09Z Aklbmd164 37133 /* Deiktāi en mīstu */ 543603 wikitext text/x-wiki '''<big>Lakciōni 13</big>''' == Deiktāi en mīstu be prōfesiōnis – Miejsca w mieście i zawody == === Deiktāi en mīstu === <gallery> File:Gifford State Bank.jpg|'''bānki''' <52> – bank File:Caffeena café storefront at NOMO, Bacoor, Cavite — 25 Feb 2022.jpg|'''kafēbutan''' <35> – kawiarnia File:Novo-Cinemas-Book-Movie-Tickets-Doha-Qatar (5).jpg|'''kintùps''' <32> – kino File:Hospital in Volgograd 001.jpg|'''špitlin''' <37> – szpital File:Hotel Kiljava.jpg|'''hōtels''' <32> – hotel File:Princeton University Art Museum Ancient Mediterranean Art Gallery.jpg|'''muzējan''' <35a> – muzeum File:Park Środula, Sosnowiec, Jesień 2021.jpg|'''parks''' <32> – park File:The interior of an Olive Garden restaurant 04.jpg|'''restaurānts''' <56> – restauracja File:Andrew Classroom De La Salle University.jpeg|'''skūli''' <52> – szkoła File:In the Grocers - geograph.org.uk - 7767639.jpg|'''kāupabutan''' <35> – sklep File:Supermarket z flagami (ubt).JPG|'''sūpermarkets''' <32> – supermarket File:San Diego Zoo entrance elephant.jpg|'''zoō''' (r. nijaki, nie odmienia się) – zoo File:17-05-30-M R Štefánik Airport- RR71498.jpg|'''skrāistaustin''' <37> – lotnisko File:Rennes - Librairie Le Failler - 20250212 (2).jpg|'''laiskeīns''' <32> – księgarnia File:Inverness Bus Station... - geograph.org.uk - 7774844.jpg|'''autōbusadwars''' <32> – dworzec autobusowy File:20180710 165312 pharmacy lodz july 2018.jpg|'''apōteki''' <52> – apteka File:Saint Catherine Catholic Church in Boulder Montana.jpg|'''kīrki''' <52> – kościół File:Laukaa Main Library interior 2.jpg|'''bibliōteki''' <52> – biblioteka File:Wiślica Poczta (1).jpg|'''pusti''' <52> – poczta File:Stazione di Milano Centrale (10745653534).jpg|'''gelzāpintisdwars''' <32> – dworzec kolejowy File:Gran Teatro de la Habana interior.jpg|'''teāteris''' <40> – teatr File:Admiral Street Fire Station Providence RI.jpg|'''ugnisar̀gawa''' <45> – remiza strażacka File:A view of a bakery in Berlin, Germany.jpg|'''umnudi''' <52> – piekarnia File:Sweetie Pies Bakery - December 2024 - Sarah Stierch 02.jpg|'''kōnditaraja''' <45> – cukiernia File:Port Elizabeth City Hall, front facade.jpg|'''rādasbutan''' <35> – ratusz File:Shell petrol stations in the Philippines (June 2023) 04.jpg|'''degalaīns''' <32> – stacja benzynowa </gallery> === Prōfesiōnis === <gallery> File:Dr. Soumya Guha in an Operation Theatre.jpg|'''ārsti''' <54> – lekarz File:A college professor teaching in a university classroom full of students in Tennessee, United States 08.jpg|'''mukinnewis''' <40> – nauczyciel File:Arcata firefighter Spraying water at a fire.jpg|'''ugnisar̀giskeniks''' <32> – strażak File:HH Polizeihauptmeister MZ.jpg|'''pōlicists''' <32> – policjant File:Diana Ellis - 19 Oct 2011.jpg|'''adwōkats''' <32> – adwokat File:Ohio farmer David Brandt.jpg|'''būrs''' <32> – rolnik File:Barnraisers working together to construct WOW Barn. LEEDS 2023.jpg|'''zēistajs''' <32> – budowlaniec File:091018 MerchantofVenice 161.jpg|'''aktōrs''' <32> – aktor File:Chef cuisinier.jpg|'''kukūris''' <40> – kucharz File:Ingenieur reseaux.jpg|'''infōrmatikeris''' <40> – informatyk File:Fönsterputsning - Window cleaner - Ystad-2025.jpg|'''gewinīs''' <38> – sprzątacz File:Flower seller at the Rabat open market - Il-Monti.jpg|'''perdātajs''' <32> – sprzedawca File:Waiter in a restaurant, Paris 2011.jpg|'''prickus''' <42> – kelner; portier File:Khuraman Ismayilova.jpg|'''bibliōtekars''' <32> – bibliotekarz File:Truckdriver.jpg|'''štīritajs''' <32> – kierowca File:Battesimi0113.jpg|'''nōseilaniks''' <32> – ksiądz File:Baker Oslo.jpg|'''pekūris''' <40> – piekarz </gallery> == Tworzenie nazw zawodów == === Nazwy męskie === Nazwy męskie zawodów w języku pruskim można utworzyć poprzez m.in. utworzenie z czasownika rzeczownika oznaczającego wykonawcę czynności, np.: * perdā<span style="color:red">tun</span> (sprzedać) ⇒ perdā<span style="color:red">tajs</span> (sprzedawca) * štīri<span style="color:red">tun</span> (kierować, prowdzić) ⇒ štīri<span style="color:red">tajs</span> (kierowca) Część nazw zawodów zapożycza się z języka niemieckiego, i spruszcza się je dodając końcówkę ''-is'', np.: * infōrmatiker<u>is</u> (z ''niem.'' Informatiker) * pōlitiker<u>is</u> (z ''niem.'' Politiker) * apōteker<u>is</u> (z ''niem.'' Apotheker) === Nazwy żeńskie === Nazwy żeńskie zawodów tworzy się w języku pruskim na trzy główne sposoby:<br> ''-tajs'' ⇒ ''-taja'', np.: * perdā<span style="color:red">tajs</span> ⇒ perdā<span style="color:red">taja</span> * štīri<span style="color:red">tajs</span> ⇒ štīri<span style="color:red">taja</span> ''-s/-is'' ⇒ ''-ini'', np.: * bibliōtekar<span style="color:red">s</span> ⇒ bibliōtekar<span style="color:red">ini</span> * infōrmatiker<span style="color:red">is</span> ⇒ infōrmatiker<span style="color:red">ini</span> ''-is'' ⇒ ''-i'', np.: * mukinnew<span style="color:red">is</span> ⇒ mukinnew<span style="color:red">i</span> * kukūr<span style="color:red">is</span> ⇒ kukūr<span style="color:red">i</span> Wyjątek: aktrīsi (aktorka) == Odmiana czasowników ''iść'' i ''pracować'' w cz. teraźniejszym == '''Ēitwei''' – Iść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''ēima''' |- |Tū '''ēisei''' |- |Tāns/Tenā/Sta '''ēit''' |- |Mes '''ēimai''' |- |Jūs '''ēitei''' |- |Tenēi/Tennas '''ēit''' |} '''Dīlatwei''' – Pracować {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''dīlai''' |- |Tū '''dīlai''' |- |Tāns/Tenā/Sta '''dīlai''' |- |Mes '''dīlaimai''' |- |Jūs '''dīlaitei''' |- |Tenēi/Tennas '''dīlai''' |} Czasownik ''dīlatwei'' oznacza również ''działać'' (np. urządzenie). == Przydatne wyrażenia == * '''As ēima en kāupabutan/skūlin/bibliōtekin''' – Idę do sklepu/szkoły/biblioteki. * '''As dīlai en kāupabutu/skūlai/bibliōtekei''' – Pracuję w sklepie/szkole/bibliotece. * '''As dīlai kāigi perdātajs/mukinnewis/bibliōtekars''' – Pracuję jako sprzedawca/nauczyciel/bibliotekarz. * '''En perejīngiskwai as kwāi wīrstwei perdātajs/mukinnewis/bibliōtekars''' – W przyszłości chcę zostać sprzedawcą/nauczycielem/bibliotekarzem. * '''Etwinūis, kāigi as mazzi preikakīntun si prei autōbusadwaran/pustin/umnudin?''' – Przepraszam, jak mogę dotrzeć na dworzec autobusowy/na pocztę/do piekarni? * '''Jaīs tikriskai be panzdau wartinnais si prei tikrai/kāirai''' – Idź prosto, a następnie skręć w prawo/lewo. * '''Kwēi ukataūwaisis hōtels/sūpermarkets/degalaīns ast?''' – Gdzie jest najbliższy hotel/najbliższy supermarket/najbliższa stacja benzynowa? 99qmlwtxs3ihw1kjnrfcl6gzw21sygq 543605 543603 2026-05-20T20:53:49Z Persino 2851 523499 wikitext text/x-wiki 543639 543605 2026-05-20T23:03:36Z Persino 2851 543603 wikitext text/x-wiki '''<big>Lakciōni 13</big>''' == Deiktāi en mīstu be prōfesiōnis – Miejsca w mieście i zawody == === Deiktāi en mīstu === <gallery> File:Gifford State Bank.jpg|'''bānki''' <52> – bank File:Caffeena café storefront at NOMO, Bacoor, Cavite — 25 Feb 2022.jpg|'''kafēbutan''' <35> – kawiarnia File:Novo-Cinemas-Book-Movie-Tickets-Doha-Qatar (5).jpg|'''kintùps''' <32> – kino File:Hospital in Volgograd 001.jpg|'''špitlin''' <37> – szpital File:Hotel Kiljava.jpg|'''hōtels''' <32> – hotel File:Princeton University Art Museum Ancient Mediterranean Art Gallery.jpg|'''muzējan''' <35a> – muzeum File:Park Środula, Sosnowiec, Jesień 2021.jpg|'''parks''' <32> – park File:The interior of an Olive Garden restaurant 04.jpg|'''restaurānts''' <56> – restauracja File:Andrew Classroom De La Salle University.jpeg|'''skūli''' <52> – szkoła File:In the Grocers - geograph.org.uk - 7767639.jpg|'''kāupabutan''' <35> – sklep File:Supermarket z flagami (ubt).JPG|'''sūpermarkets''' <32> – supermarket File:San Diego Zoo entrance elephant.jpg|'''zoō''' (r. nijaki, nie odmienia się) – zoo File:17-05-30-M R Štefánik Airport- RR71498.jpg|'''skrāistaustin''' <37> – lotnisko File:Rennes - Librairie Le Failler - 20250212 (2).jpg|'''laiskeīns''' <32> – księgarnia File:Inverness Bus Station... - geograph.org.uk - 7774844.jpg|'''autōbusadwars''' <32> – dworzec autobusowy File:20180710 165312 pharmacy lodz july 2018.jpg|'''apōteki''' <52> – apteka File:Saint Catherine Catholic Church in Boulder Montana.jpg|'''kīrki''' <52> – kościół File:Laukaa Main Library interior 2.jpg|'''bibliōteki''' <52> – biblioteka File:Wiślica Poczta (1).jpg|'''pusti''' <52> – poczta File:Stazione di Milano Centrale (10745653534).jpg|'''gelzāpintisdwars''' <32> – dworzec kolejowy File:Gran Teatro de la Habana interior.jpg|'''teāteris''' <40> – teatr File:Admiral Street Fire Station Providence RI.jpg|'''ugnisar̀gawa''' <45> – remiza strażacka File:A view of a bakery in Berlin, Germany.jpg|'''umnudi''' <52> – piekarnia File:Sweetie Pies Bakery - December 2024 - Sarah Stierch 02.jpg|'''kōnditaraja''' <45> – cukiernia File:Port Elizabeth City Hall, front facade.jpg|'''rādasbutan''' <35> – ratusz File:Shell petrol stations in the Philippines (June 2023) 04.jpg|'''degalaīns''' <32> – stacja benzynowa </gallery> === Prōfesiōnis === <gallery> File:Dr. Soumya Guha in an Operation Theatre.jpg|'''ārsti''' <54> – lekarz File:A college professor teaching in a university classroom full of students in Tennessee, United States 08.jpg|'''mukinnewis''' <40> – nauczyciel File:Arcata firefighter Spraying water at a fire.jpg|'''ugnisar̀giskeniks''' <32> – strażak File:HH Polizeihauptmeister MZ.jpg|'''pōlicists''' <32> – policjant File:Diana Ellis - 19 Oct 2011.jpg|'''adwōkats''' <32> – adwokat File:Ohio farmer David Brandt.jpg|'''būrs''' <32> – rolnik File:Barnraisers working together to construct WOW Barn. LEEDS 2023.jpg|'''zēistajs''' <32> – budowlaniec File:091018 MerchantofVenice 161.jpg|'''aktōrs''' <32> – aktor File:Chef cuisinier.jpg|'''kukūris''' <40> – kucharz File:Ingenieur reseaux.jpg|'''infōrmatikeris''' <40> – informatyk File:Fönsterputsning - Window cleaner - Ystad-2025.jpg|'''gewinīs''' <38> – sprzątacz File:Flower seller at the Rabat open market - Il-Monti.jpg|'''perdātajs''' <32> – sprzedawca File:Waiter in a restaurant, Paris 2011.jpg|'''prickus''' <42> – kelner; portier File:Khuraman Ismayilova.jpg|'''bibliōtekars''' <32> – bibliotekarz File:Truckdriver.jpg|'''štīritajs''' <32> – kierowca File:Battesimi0113.jpg|'''nōseilaniks''' <32> – ksiądz File:Baker Oslo.jpg|'''pekūris''' <40> – piekarz </gallery> == Tworzenie nazw zawodów == === Nazwy męskie === Nazwy męskie zawodów w języku pruskim można utworzyć poprzez m.in. utworzenie z czasownika rzeczownika oznaczającego wykonawcę czynności, np.: * perdā<span style="color:red">tun</span> (sprzedać) ⇒ perdā<span style="color:red">tajs</span> (sprzedawca) * štīri<span style="color:red">tun</span> (kierować, prowdzić) ⇒ štīri<span style="color:red">tajs</span> (kierowca) Część nazw zawodów zapożycza się z języka niemieckiego, i spruszcza się je dodając końcówkę ''-is'', np.: * infōrmatiker<u>is</u> (z ''niem.'' Informatiker) * pōlitiker<u>is</u> (z ''niem.'' Politiker) * apōteker<u>is</u> (z ''niem.'' Apotheker) === Nazwy żeńskie === Nazwy żeńskie zawodów tworzy się w języku pruskim na trzy główne sposoby:<br> ''-tajs'' ⇒ ''-taja'', np.: * perdā<span style="color:red">tajs</span> ⇒ perdā<span style="color:red">taja</span> * štīri<span style="color:red">tajs</span> ⇒ štīri<span style="color:red">taja</span> ''-s/-is'' ⇒ ''-ini'', np.: * bibliōtekar<span style="color:red">s</span> ⇒ bibliōtekar<span style="color:red">ini</span> * infōrmatiker<span style="color:red">is</span> ⇒ infōrmatiker<span style="color:red">ini</span> ''-is'' ⇒ ''-i'', np.: * mukinnew<span style="color:red">is</span> ⇒ mukinnew<span style="color:red">i</span> * kukūr<span style="color:red">is</span> ⇒ kukūr<span style="color:red">i</span> Wyjątek: aktrīsi (aktorka) == Odmiana czasowników ''iść'' i ''pracować'' w cz. teraźniejszym == '''Ēitwei''' – Iść {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''ēima''' |- |Tū '''ēisei''' |- |Tāns/Tenā/Sta '''ēit''' |- |Mes '''ēimai''' |- |Jūs '''ēitei''' |- |Tenēi/Tennas '''ēit''' |} '''Dīlatwei''' – Pracować {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''dīlai''' |- |Tū '''dīlai''' |- |Tāns/Tenā/Sta '''dīlai''' |- |Mes '''dīlaimai''' |- |Jūs '''dīlaitei''' |- |Tenēi/Tennas '''dīlai''' |} Czasownik ''dīlatwei'' oznacza również ''działać'' (np. urządzenie). == Przydatne wyrażenia == * '''As ēima en kāupabutan/skūlin/bibliōtekin''' – Idę do sklepu/szkoły/biblioteki. * '''As dīlai en kāupabutu/skūlai/bibliōtekei''' – Pracuję w sklepie/szkole/bibliotece. * '''As dīlai kāigi perdātajs/mukinnewis/bibliōtekars''' – Pracuję jako sprzedawca/nauczyciel/bibliotekarz. * '''En perejīngiskwai as kwāi wīrstwei perdātajs/mukinnewis/bibliōtekars''' – W przyszłości chcę zostać sprzedawcą/nauczycielem/bibliotekarzem. * '''Etwinūis, kāigi as mazzi preikakīntun si prei autōbusadwaran/pustin/umnudin?''' – Przepraszam, jak mogę dotrzeć na dworzec autobusowy/na pocztę/do piekarni? * '''Jaīs tikriskai be panzdau wartinnais si prei tikrai/kāirai''' – Idź prosto, a następnie skręć w prawo/lewo. * '''Kwēi ukataūwaisis hōtels/sūpermarkets/degalaīns ast?''' – Gdzie jest najbliższy hotel/najbliższy supermarket/najbliższa stacja benzynowa? 99qmlwtxs3ihw1kjnrfcl6gzw21sygq Pruski/Lekcja14 0 61049 543604 543012 2026-05-20T20:35:12Z Aklbmd164 37133 /* Odmiana czasowników grać i umieć w cz. teraźniejszym */ 543604 wikitext text/x-wiki '''<big>Lakciōni 14</big>''' == Spōrtai be muzīkis instrumēntis – Sporty i instrumenty muzyczne == === Spōrtai === <gallery> File:Kristaps Porzingis and Kris Humphries.jpg|'''liškiskugis''' <40> – koszykówka File:20180610 FIFA Friendly Match Austria vs. Brazil Lainer Miranda 850 0054.jpg|'''pīdaskugis''' <40>, '''futbuls''' <32> – piłka nożna File:Richèl Hogenkamp - Masters de Madrid 2015 - 11.jpg|'''tenniss''' <32> – tenis File:Badminton - Rio 2007.jpg|'''badmintōns''' <32> – badminton File:20150207 1850 Ice Hockey AUT SVK 9930.jpg|'''hakkejs''' <32> – hokej File:Bulgaria-serbia volley 2012.jpg|'''tīnklaskugis''' <40>, '''wallaibuls''' <32> – siatkówka File:DEN - ESP (01) - 2010 European Men's Handball Championship.jpg|'''rānkaskugis''' <40> – piłka ręczna File:Natural luge double.jpg|'''rōdelausna''' <45> – saneczkarstwo File:Leichtathletik Gala Linz 2018 pole vault Preiner Katrin-5628.jpg|'''kartanasāksenis''' <40> – skok o tyczce File:2022-08-15 European Championships 2022 – Men's Decathlon – Long Jump by Sandro Halank–110.jpg|'''tāli sāksenis''' <40> – skok w dal File:MICHELLE NGOZO Championnats d'Afrique d'athlétisme 2024.jpg|'''ūnzai sāksenis''' <40> – skok wzwyż File:Football in Wilmington, NC 3.jpg|'''spīlakugis''' <40> – piłka File:Football (Soccer) Field in Tyresö.jpg|'''spīlalauks''' <32> – boisko File:SoFi Stadium interior 2021.jpg|'''stadiōnan''' <35a> – stadion </gallery> === Muzīkis instrumēntis === <gallery> File:Classical Guitar two views.jpg|'''gitarri''' <52> – gitara File:Steinway & Sons concert grand piano, model D-274, manufactured at Steinway's factory in Hamburg, Germany.png|'''skreīlis''' <40> – fortepian File:Steinway & Sons upright piano, model K-52 (mahogany finish), manufactured at Steinway's factory in New York City.jpg|'''klawīran''' <35a> – pianino File:German, maple Violin.JPG|'''widdeli''' <52> – skrzypce File:Scandalli Extreme Diva 1.jpg|'''akōrdeōns''' <32> – akordeon File:Yamaha Soprano Recorder YRS-61.tif|'''flaiti''' <52> – flet File:Horizontal Red Wooden snare drum and Jazz brushes isolated on a white background (28336793952).jpg|'''trumbels''' <32> – bęben File:Yamaha Saxophone YTS-62 (recrop).png|'''saksofōns''' <32> – saksofon File:St. Mary Church Polen 04.jpg|'''ērgelis''' <52> – organy (''plurale tantum'') </gallery> == Odmiana czasowników ''grać'' i ''umieć'' w cz. teraźniejszym == '''Spīlitun''' – Grać (w sport) {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''spīlai''' |- |Tū '''spīlai''' |- |Tāns/Tenā/Sta '''spīlai''' |- |Mes '''spīlaimai''' |- |Jūs '''spīlaitei''' |- |Tenēi/Tennas '''spīlai''' |} <noinclude> '''Birbintwei''' – Grać (na instrumencie muzycznym) {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''birbina''' |- |Tū '''birbina''' |- |Tāns/Tenā/Sta '''birbina''' |- |Mes '''birbinimai''' |- |Jūs '''birbinitei''' |- |Tenēi/Tennas '''birbina''' |} <noinclude> W języku polskim mówimy ''grać <u>w</u> tenisa'', ''grać <u>na</u> gitarze''. W języku pruskim po czasownikach ''spīlitun'' i ''birbintwei'' bez przyimka wstawiamy rzeczownik w bierniku, np. ''As spīlai tennisan'' (Gram w tenisa), ''Tāns birbina gitarrin'' (On gra na gitarze). <br> '''Mukītun''' – Umieć, potrafić {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''mūka''' |- |Tū '''mūka''' |- |Tāns/Tenā/Sta '''mūka''' |- |Mes '''mūkimai''' |- |Jūs '''mūkitei''' |- |Tenēi/Tennas '''mūka''' |} <noinclude> W języku pruskim połączenie czasownika w formie osobowej i bezokolicznika wygląda tak samo jak w języku polskim, np. ''As mūka spīlitun'' (Umiem grać). Można jednak w takich zdaniach skracać końcówkę bezokolicznika ''-tun/-twei'' do końcówki ''-t'', np. ''As mūka spīlit''. == Przydatne wyrażenia == * '''As spīlai pīdaskugin/tennisan/liškiskugin''' – Gram w piłkę nożną/tenisa/koszykówkę. * '''As birbina gitarrin/klawīran/akōrdeōnan''' – Gram na gitarze/pianinie/akordeonie. * '''As mūka birbintwei gitarrin/klawīran/akōrdeōnan''' – Umiem grać na gitarze/pianinie/akordeonie. * '''Ēimai spīlitun pīdaskugin/tennisan/liškiskugin''' – Chodźmy zagrać w piłkę nożną/tenisa/koszykówkę. * '''As spīlai... ainawārst/dwaiwārst/triwārst per sawaītin''' – Gram w... jeden raz/dwa razy/trzy razy w tygodniu. p07vf5lo9tun0axqs2d2qyo60p4tei6 Pruski/Lekcja16 0 61052 543606 543016 2026-05-20T20:54:54Z Aklbmd164 37133 543606 wikitext text/x-wiki '''<big>Lakciōni 16</big>''' == Transpōrtas sirdawas – Środki transportu == <gallery> File:Graz Linien Wagen 114 beim Murpark.jpg|'''autōbuss''' <32> – autobus File:Lincoln Town Car Signature L FN145 FL Black Clearcoat (11).jpg|'''automōbilin''' <35a>, '''autō''' (r. nijaki, nie odmienia się) – samochód File:Taxi in New York City.jpg|'''taksi''' (r. męski, nie odmienia się) – taksówka File:SBB Re 450 097 ZKB Nachtnetz.jpg|'''tensīlis''' <40> – pociąg File:Bike in Bruges - 20181109.jpg|'''welsipēds''' <32> – rower File:Harley Davidson motorbike - geograph.org.uk - 1825672.jpg|'''motōrkelin''' <35a> – motocykl File:Razor old a.jpg|'''rullaris''' <40> – hulajnoga File:Kyiv Express Tram 755 2019 G1.jpg|'''trāms''' <32> – tramwaj File:Lorry in a lay-by - geograph.org.uk - 6177480.jpg|'''kraulawāgens''' <32> – ciężarówka File:2017-09-08 AVIAQ ITTUK - MMSI 331010000 at Narsaq Harbor, Greenland.jpg|'''laīwan''' <35> – statek File:Airbus A380.jpg|'''winalaīwan''' <35> – samolot File:Sopot fishing boats 4.jpg|'''aldī''' <51> – łódź File:Bell 407 Góraszka 2.JPG|'''elikōpters''' <32> – helikopter File:Skateboard upside.jpg|'''rulliluba''' <45> – deskorolka </gallery> == Odmiana czasowników ''jechać'', ''jeździć'', ''latać'' i ''pływać'' w cz. teraźniejszym == '''Jātwei''' – Jechać {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''jāma''' |- |Tū '''jāsei''' |- |Tāns/Tenā/Sta '''jāt''' |- |Mes '''jāmai''' |- |Jūs '''jātei''' |- |Tenēi/Tennas '''jāt''' |} <noinclude> '''Jadātwei''' – Jeździć {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''jadāi''' |- |Tū '''jadāi''' |- |Tāns/Tenā/Sta '''jadāi''' |- |Mes '''jadāimai''' |- |Jūs '''jadāitei''' |- |Tenēi/Tennas '''jadāi''' |} <noinclude> '''Skrāistwei''' – Lecieć, latać {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''skrāida''' |- |Tū '''skrāida''' |- |Tāns/Tenā/Sta '''skrāida''' |- |Mes '''skrāidimai''' |- |Jūs '''skrāiditei''' |- |Tenēi/Tennas '''skrāida''' |} <noinclude> '''Plūtwei''' – Pływać, płynąć {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''plūja''' |- |Tū '''plūja''' |- |Tāns/Tenā/Sta '''plūja''' |- |Mes '''plūjimai''' |- |Jūs '''plūjitei''' |- |Tenēi/Tennas '''plūja''' |} <noinclude> Po polsku powiedzielibyśmy np. ''Jadę <u>samochodem</u>'', ''Jeżdżę <u>rowerem</u>'', ''Lecę <u>samolotem</u>'', ''Płynę <u>statkiem</u>'', czyli użylibyśmy rzeczownika w narzędniku. Po prusku ta konstrukcja jest wyrażana za pomocą przyimka ''sēn'' i dopełnienia w bierniku, np. ''As jadāi sen welsipēdan'' (Jeżdżę rowerem), ''As plūja sen laīwan'' (Płynę statkiem). == Rzeczowniki odczasownikowe == Aby utworzyć rzeczownik odczasownikowy w języku pruskim, należy od bezokolicznika odjąć końcówkę ''-tun/-twei'' i dodać końcówkę ''-snā'', np.: * jā<span style="color:red">twei</span> ⇒ ja<span style="color:red">snā</span> (jechanie) * jadā<span style="color:red">twei</span> ⇒ jada<span style="color:red">snā</span> (jeżdżenie) * skrāis<span style="color:red">twei</span> ⇒ skrai<span style="color:red">snā</span> (latanie) * plū<span style="color:red">twei</span> ⇒ plu<span style="color:red">snā</span> (pływanie) Podczas odmiany przez liczby i przypadki rzeczowników odczasownikowych (które odmieniają się wzorem <46>) akcent wróci na miejsce pierwotnego akcentu w bezokoliczniku, od którego utworzone słowo, np. jadasnā ⇒ jadāsnan (''biernik''). == Przydatne wyrażenia == * '''As jāma sen automōbilin/autōbusan/taksi''' – Jadę samochodem/autobusem/taksówką. * '''As skrāida sen winalaīwan/elikōpteran''' – Lecę samolotem/helikopterem. * '''As plūja sen laīwan/āldin''' – Płynę statkiem/łodzią. * '''As ēima prei dīlin pīstei''' – Chodzę do pracy na piechotę. * '''As jadāi prei dīlin sen automōbilin/autōbusan/trāman''' – Jeżdżę do pracy samochodem/autobusem/tramwajem. * '''As ēmpirsin tensijja jadātwei sen welsipēdan nikāi sen automōbilin/autōbusan/taksi''' – Wolę jeździć rowerem niż samochodem/autobusem/taksówką. * '''Mennei ni padīnga pintegaūtwei sen laīwan/winalaīwan''' – Nie lubię podróżować statkiem/samolotem. * '''Jāsnaskarti per autōbusan/tensīlin/trāman''' – Bilet (na przejazd) na autobus/pociąg/tramwaj dcjwgkaik61mbias3rllo0ps9z03j4i 543607 543606 2026-05-20T20:55:26Z Aklbmd164 37133 /* Rzeczowniki odczasownikowe */ 543607 wikitext text/x-wiki '''<big>Lakciōni 16</big>''' == Transpōrtas sirdawas – Środki transportu == <gallery> File:Graz Linien Wagen 114 beim Murpark.jpg|'''autōbuss''' <32> – autobus File:Lincoln Town Car Signature L FN145 FL Black Clearcoat (11).jpg|'''automōbilin''' <35a>, '''autō''' (r. nijaki, nie odmienia się) – samochód File:Taxi in New York City.jpg|'''taksi''' (r. męski, nie odmienia się) – taksówka File:SBB Re 450 097 ZKB Nachtnetz.jpg|'''tensīlis''' <40> – pociąg File:Bike in Bruges - 20181109.jpg|'''welsipēds''' <32> – rower File:Harley Davidson motorbike - geograph.org.uk - 1825672.jpg|'''motōrkelin''' <35a> – motocykl File:Razor old a.jpg|'''rullaris''' <40> – hulajnoga File:Kyiv Express Tram 755 2019 G1.jpg|'''trāms''' <32> – tramwaj File:Lorry in a lay-by - geograph.org.uk - 6177480.jpg|'''kraulawāgens''' <32> – ciężarówka File:2017-09-08 AVIAQ ITTUK - MMSI 331010000 at Narsaq Harbor, Greenland.jpg|'''laīwan''' <35> – statek File:Airbus A380.jpg|'''winalaīwan''' <35> – samolot File:Sopot fishing boats 4.jpg|'''aldī''' <51> – łódź File:Bell 407 Góraszka 2.JPG|'''elikōpters''' <32> – helikopter File:Skateboard upside.jpg|'''rulliluba''' <45> – deskorolka </gallery> == Odmiana czasowników ''jechać'', ''jeździć'', ''latać'' i ''pływać'' w cz. teraźniejszym == '''Jātwei''' – Jechać {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''jāma''' |- |Tū '''jāsei''' |- |Tāns/Tenā/Sta '''jāt''' |- |Mes '''jāmai''' |- |Jūs '''jātei''' |- |Tenēi/Tennas '''jāt''' |} <noinclude> '''Jadātwei''' – Jeździć {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''jadāi''' |- |Tū '''jadāi''' |- |Tāns/Tenā/Sta '''jadāi''' |- |Mes '''jadāimai''' |- |Jūs '''jadāitei''' |- |Tenēi/Tennas '''jadāi''' |} <noinclude> '''Skrāistwei''' – Lecieć, latać {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''skrāida''' |- |Tū '''skrāida''' |- |Tāns/Tenā/Sta '''skrāida''' |- |Mes '''skrāidimai''' |- |Jūs '''skrāiditei''' |- |Tenēi/Tennas '''skrāida''' |} <noinclude> '''Plūtwei''' – Pływać, płynąć {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |As '''plūja''' |- |Tū '''plūja''' |- |Tāns/Tenā/Sta '''plūja''' |- |Mes '''plūjimai''' |- |Jūs '''plūjitei''' |- |Tenēi/Tennas '''plūja''' |} <noinclude> Po polsku powiedzielibyśmy np. ''Jadę <u>samochodem</u>'', ''Jeżdżę <u>rowerem</u>'', ''Lecę <u>samolotem</u>'', ''Płynę <u>statkiem</u>'', czyli użylibyśmy rzeczownika w narzędniku. Po prusku ta konstrukcja jest wyrażana za pomocą przyimka ''sēn'' i dopełnienia w bierniku, np. ''As jadāi sen welsipēdan'' (Jeżdżę rowerem), ''As plūja sen laīwan'' (Płynę statkiem). == Rzeczowniki odczasownikowe == Aby utworzyć rzeczownik odczasownikowy w języku pruskim, należy od bezokolicznika odjąć końcówkę ''-tun/-twei'' i dodać końcówkę ''-snā'', np.: * jā<span style="color:red">twei</span> ⇒ ja<span style="color:red">snā</span> (jechanie) * jadā<span style="color:red">twei</span> ⇒ jada<span style="color:red">snā</span> (jeżdżenie) * skrāis<span style="color:red">twei</span> ⇒ skrai<span style="color:red">snā</span> (latanie) * plū<span style="color:red">twei</span> ⇒ plu<span style="color:red">snā</span> (pływanie) Podczas odmiany przez liczby i przypadki rzeczowników odczasownikowych (które odmieniają się wzorem <46>) akcent wróci na miejsce pierwotnego akcentu w bezokoliczniku, od którego utworzono słowo, np. jadasnā ⇒ jadāsnan (''biernik''). == Przydatne wyrażenia == * '''As jāma sen automōbilin/autōbusan/taksi''' – Jadę samochodem/autobusem/taksówką. * '''As skrāida sen winalaīwan/elikōpteran''' – Lecę samolotem/helikopterem. * '''As plūja sen laīwan/āldin''' – Płynę statkiem/łodzią. * '''As ēima prei dīlin pīstei''' – Chodzę do pracy na piechotę. * '''As jadāi prei dīlin sen automōbilin/autōbusan/trāman''' – Jeżdżę do pracy samochodem/autobusem/tramwajem. * '''As ēmpirsin tensijja jadātwei sen welsipēdan nikāi sen automōbilin/autōbusan/taksi''' – Wolę jeździć rowerem niż samochodem/autobusem/taksówką. * '''Mennei ni padīnga pintegaūtwei sen laīwan/winalaīwan''' – Nie lubię podróżować statkiem/samolotem. * '''Jāsnaskarti per autōbusan/tensīlin/trāman''' – Bilet (na przejazd) na autobus/pociąg/tramwaj 9j1myen6oko12667kl846auof20nm29 Pruski/Lekcja28 0 61113 543610 542505 2026-05-20T21:09:47Z Aklbmd164 37133 /* Tryb przypuszczający */ 543610 wikitext text/x-wiki '''<big>Lakciōni 28</big>''' == Imiesłów czynny czasu przeszłego == Imiesłów czynny czasu przeszłego (''pretēritas aktīwan'') w języku pruskim tworzy się: a) Obcinając końcówkę bezokolicznika ''-tun/twei'' i dodając końcówkę ''-uns'', np.: * aubīrg<span style="color:red">tun</span> ⇒ aubīrg<span style="color:red">uns</span> * aūg<span style="color:red">twei</span> ⇒ aūg<span style="color:red">uns</span> b) Obcinając końcówkę bezokolicznika ''-tun/twei'' i dodając końcówkę ''-<u>w</u>uns'' (od bezokoliczników, w których po odcięciu końcówki ''-tun/twei'' temat kończy się samogłoską), np.: * widā<span style="color:red">tun</span> ⇒ widā<span style="color:red"><u>w</u>uns</span> * segī<span style="color:red">tun</span> ⇒ segī<span style="color:red"><u>w</u>uns</span> c) Obcinając końcówkę bezokolicznika ''-utun/utwei'' i dodając końcówkę ''-<u>w</u>uns'' (dotyczy to odmiany <143>), np.: * tērpa<span style="color:red">utun</span> ⇒ tērpa<span style="color:red"><u>w</u>uns</span> * bucca<span style="color:red">utun</span> ⇒ bucca<span style="color:red"><u>w</u>uns</span> Zwróć także uwagę na czasowniki z końcówką ''-stun/stwei''. Jeśli w odmianie w cz. przeszłym ''s'' zamieniło się w ''t'' lub ''d'', to w imiesłowie również zajdzie taka zmiana, np.: * aume<u>s</u><span style="color:red">tun</span> ⇒ aume<u>tt</u><span style="color:red">uns</span> * gēi<u>s</u><span style="color:red">twei</span> ⇒ gēi<u>d</u><span style="color:red">uns</span>. Gdy w odmianie w cz. przeszłym zajdzie zmiana w zapisie akcentu, np. ''īmtun'' ⇒ ''as immi'', to uwzględniamy to tworząc imiesłów i powstanie wtedy forma ''immuns''. Wyjątek: ēitwei ⇒ gūbuns === Odmiana === Imiesłów czynny czasu przeszłego odmienia się zgodnie ze schematem <68>. Gdy używamy go w budowie czasu przyszłego i perfekt, potrzebne nam są tylko formy mianownika. * Przykład odmiany imiesłowu ''aubīrguns'': {| class="wikitable" ! ! <span style="font-weight: normal;">Rodzaj męski</span> ! <span style="font-weight: normal;">Rodzaj żeński</span> ! <span style="font-weight: normal;">Rodzaj nijaki</span> |- | Liczba pojedyncza | aubīrg<span style="color:red">uns</span> | aubīrg<span style="color:red">usi</span> | aubīrg<span style="color:red">us</span> |- | Liczba mnoga | aubīrg<span style="color:red">usis</span> | aubīrg<span style="color:red">ušas</span> | aubīrg<span style="color:red">us</span> |} Rodzaj imiesłowu odpowiada rodzajowi podmiotu, np. ''Wīrs wīrst aubīrguns'', ''Genā wīrst aubīrgusi''. == Tryb rozkazujący == 1. Tryb rozkazujący dla 1. i 3. osoby liczby pojedynczej oraz 3. osoby liczby mnogiej tworzy się obcinając końcówkę bezokolicznika ''-tun/twei'' i dodając końcówkę ''-sei'', np.: * bīrgin<span style="color:red">tun</span> ⇒ bīrgin<span style="color:red">sei</span> (niech gotuję, niech gotuje, niech gotują). 2. Tryb rozkazujący dla 2. osoby liczby pojedynczej tworzy się:<br> a) dodając końcówkę ''-is'' do formy 2. osoby liczby pojedynczej czasu teraźniejszego, np.: * tū bīrgina (ty gotujesz) ⇒ bīrgina<span style="color:red">is</span> (gotuj). b) Jeśli forma 2. osoby liczby pojedynczej czasu teraźniejszego kończy się literą ''i'', to wtedy dodajemy końcówkę ''-s'', np.: * tū segēi ⇒ segēi<span style="color:red">s</span> lub końcówkę ''-i'' obcinamy (w odmianie <143>), np.: * tū dīnkau<span style="color:red">i</span> ⇒ dīnkau<span style="color:red">s</span>. c) W odmianie <139> obcinamy końcówkę bezokolicznika ''-tun/twei'' i dodajemy końcówkę ''-s'', np.: * etwirī<span style="color:red">tun</span> ⇒ etwirī<span style="color:red">s</span> d) Wyjątek: ēitwei ⇒ jaīs 3. Tryb rozkazujący dla 2. osoby liczby mnogiej tworzy się poprzez zmianę końcówki ''-s'' na ''-ti'' w formie trybu rozkazującego 2. osoby liczby pojedynczej, np.: * bīrginai<span style="color:red">s</span> (gotuj) ⇒ bīrginai<span style="color:red">ti</span> (gotujcie). 4. Forma trybu rozkazującego 1. osoby liczby mnogiej jest taka sama jak forma 1. osoby liczby mnogiej czasu teraźniejszego, np.: * mes bīrginimai (gotujemy) ⇒ bīrginimai (gotujmy) 5. Wyjątek – czasownik ''būtwei'': {| style="background-color: #fafafa; border: solid 1px #c2c3c4; padding: 0.2em; width: 45%;" valign=top |- |1. os. lp.: '''seīsei''' |- |2. os. lp.: '''seīs''' |- |3. os. lp.: '''seīsei''' |- |1. os. lm.: '''asmai''' |- |2. os. lm.: '''seīti''' |- |3. os. lm.: '''seīsei''' |} == Tryb przypuszczający == === Tworzenie === Tryb przypuszczający tworzymy obcinając końcówkę bezokolicznika ''-tun/twei'' i dodając końcówkę: * ''-lai'' w 1., 2. i 3. osobie liczby pojedynczej oraz w 3. osobie liczby mnogiej, np. aubīrg<span style="color:red">tun</span> ⇒ as aubīrg<span style="color:red">lai</span> (ugotowałbym) * ''-limai'' w 1. osobie liczby mnogiej, np. aubīrg<span style="color:red">tun</span> ⇒ mes aubīrg<span style="color:red">limai</span> (ugotowalibyśmy) * ''-litei'' w 2. osobie liczby mnogiej, np. aubīrg<span style="color:red">tun</span> ⇒ jūs aubīrg<span style="color:red">litei</span> (ugotowalibyście) === Spójnik ''kāi''=== Po spójniku ''kāi'' w znaczeniu ''aby'', ''żeby'' (oprócz znaczenia ''że'') używa się trybu przypuszczającego, np.: * Tāns kwāi, '''kāi''' as '''ēilai''' stwen – On chce, żebym tam poszedł. * Sta ast kerdā, '''kāi swintinlai''' – To jest czas, aby świętować. s5efhobhzja6li3aaq58tzax4ey21qh Moduł:Strony 828 61650 543646 543218 2026-05-21T01:03:35Z Persino 2851 543646 Scribunto text/plain local p={}; local function checkUri(uri) if((not mw.ustring.match(uri,"^[^%s/]+://"))and(not mw.ustring.match(uri,"^//")))then return nil; end; local urilen = #uri for _,v in ipairs(mw.loadData("Module:Strony/dane").obslugiwaneUriSchematy) do if (#v < urilen) and (string.lower(string.sub(uri,1, #v)) == v) then return (string.match(uri, '^(%S*)//+([^%s/]+)') and true or false); end end end local function checkImageName(name_nieprzetworzone,przestrzen) if not name_nieprzetworzone or (#name_nieprzetworzone==0)then return false else local html_modul=require("Module:Html"); name_nieprzetworzone=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](name_nieprzetworzone); if(string.match(name_nieprzetworzone, "[#<>%[%]|{}]"))then return false; end; end local res = mw.loadData("Module:Strony/dane").res; local prefix = string.match(name_nieprzetworzone, "^[%s_:]*([^:%s]+)[%s_]*:") local name; local parametry_modul=require("Module:Parametry"); local czy_z_przestrzenia=parametry_modul.CzyTak(przestrzen); if prefix and res.prefix[string.lower(prefix)] then if(not czy_z_przestrzenia)then return false;end; local tabela_nazw={}; local nazwy_modul=require("Module:Nazwy"); name=nazwy_modul.NAZWASTRONY(name_nieprzetworzone,tabela_nazw); if(name=="")then return false;end; else if(czy_z_przestrzenia)then local tabela_nazw={}; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=nazwy_modul.NAZWAPRZESTRZENI(name_nieprzetworzone,tabela_nazw); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(nazwa_przestrzeni~=nazwy_np_modul.Main)then return false; else name=name_nieprzetworzone; end; else name=name_nieprzetworzone; end; end local title = mw.title.makeTitle("Plik", name) if not title then return false end local czy_name = res.name[name]; if(czy_name)then return true;end; local extension = string.match(name, "%S.*%.([^%.]+)$") return extension and res.extension[string.lower(extension)] end; local function findPlainHttp(text) if text then text = mw.ustring.gsub(text, "%[[hH][tT][tT][pP][sS]?://%S+", "_") return string.match(text, "[hH][tT][tT][pP][sS]?://%S") end end; local function findAnyHttp(text) if text then return string.match(text, "[hH][tT][tT][pP][sS]?://%S") end end local function findFile(text) -- schowaj wyjątek: obrazek generowany przez Szablon:Link-interwiki text = mw.ustring.gsub(text, "%[%[Plik:Wikidata%-logo%-en%.svg|10x9px|link=:d:Q%d+|Informacje powiązane z artykułem „.-” w Wikidanych%]%]", "") -- normalize text = mw.ustring.gsub(text, "%s*[Pp]lik%s*:%s*", "Plik:") text = mw.ustring.gsub(text, "%s*[Ff]ile%s*:%s*", "Plik:") text = mw.ustring.gsub(text, "%s*[Gg]rafika%s*:%s*", "Plik:") text = mw.ustring.gsub(text, "%s*[Ii]mage%s*:%s*", "Plik:") return mw.ustring.match(text, "%[%[Plik:([^%[%]|]+)[|%]]") end local function checkSizeFile(size,tryb) local strony_dane_modul=mw.loadData("Module:Strony/dane"); local tablica_parsowania_rozmiaru_pliku; if(not tryb)then tablica_parsowania_rozmiaru_pliku=strony_dane_modul.tablica_parsowania_rozmiaru_pliku; else tablica_parsowania_rozmiaru_pliku=strony_dane_modul.tablica_parsowania_rozmiaru_pliku_2; end; for _,wzor_size in ipairs(tablica_parsowania_rozmiaru_pliku)do local size_wynik=mw.ustring.match(size,wzor_size); if(size_wynik)then return true;end; end; return false; end; function p.SprawdzanieURL(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local url=PobierzParametr("url") or PobierzParametr(1); return checkUri(url); end; function p.SprawdzanieNazwyPlikowe(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa=PobierzParametr("nazwa") or PobierzParametr(1); local czy_z_przestrzenia=PobierzParametr("przestrzeń") or PobierzParametr(2); return checkImageName(nazwa,czy_z_przestrzenia); end; function p.ZnajdowanieNormalnychStronHttp(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr("tekst") or PobierzParametr(1); return findPlainHttp(tekst); end; function p.ZnajdowanieJakikolwiekStronHttp(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr("tekst") or PobierzParametr(1); return findAnyHttp(tekst); end; function p.ZnajdowaniePlikowe(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local tekst=PobierzParametr("tekst") or PobierzParametr(1); return findFile(tekst); end; function p.SprawdzanieRozmiaruPliku(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local rozmiar=PobierzParametr("rozmiar") or PobierzParametr(1); local tryb=PobierzParametr("tryb") or PobierzParametr(2); tryb=parametry_modul.CzyTak(tryb); return checkSizeFile(rozmiar,tryb); end; return p; o9x35fhr7ao7r2o4p6qxktmkzrm0cbd Wikipedysta:Persino/brudnopis11 2 62939 543680 543375 2026-05-21T06:10:06Z Persino 2851 543680 wikitext text/x-wiki {{Nowiki|{{Link wewnętrzny|strona=Pomoc:Spis treści|uri=tak}}}} ---- {{Nowiki|{{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}}}} ---- {{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}} ---- {{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}} {{PobierzNumerArtykułu|Muzyka|dane=3|poziomowo=tak|nagłówek=tak|bez automatu=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Estoński/Muzyka}} --- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Szablony edycji - błędy wywołań}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do obiektów}}}} ---- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brak licencji, na stronach głównych, publikacji}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brakujące spisy treści, dołączonych do stron, stron w innych książkach}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z dołączonymi innymi stronami, w książkach, z obiektami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z wypowiedzeniami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do nagłówków}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Artykusły2 dla dzieci2, ze złymi uchwytami do nagłówków}}}} {{sr|#m["PEŁNANAZWAKSIĄŻKI"]()|p=Nazwy - Tom IV}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=}}}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=tak}}}} ---- {{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}} ---- {{#invoke:Pudełko|Typ jednostki|typ jednostki=podręcznik dyskusji|dyskusja typu jednostki=}} {{DNUinfo|nazwa przestrzeni nazw=MojaPrzestrzeń}} == {{Śródtytuł|tytan}}tytan == == {{Śródtytuł|tytan}} == {{ŚródTekst|uchwyt=tytan|tekst=Oto jest tekst}} {{PobierzŚródTekst|tytan}} mss1ylidwg15q6vvrdd792na8domyw2 543687 543680 2026-05-21T06:16:22Z Persino 2851 /* {{Śródtytuł|tytan}} */ 543687 wikitext text/x-wiki {{Nowiki|{{Link wewnętrzny|strona=Pomoc:Spis treści|uri=tak}}}} ---- {{Nowiki|{{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}}}} ---- {{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}} ---- {{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}} {{PobierzNumerArtykułu|Muzyka|dane=3|poziomowo=tak|nagłówek=tak|bez automatu=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Estoński/Muzyka}} --- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Szablony edycji - błędy wywołań}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do obiektów}}}} ---- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brak licencji, na stronach głównych, publikacji}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brakujące spisy treści, dołączonych do stron, stron w innych książkach}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z dołączonymi innymi stronami, w książkach, z obiektami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z wypowiedzeniami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do nagłówków}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Artykusły2 dla dzieci2, ze złymi uchwytami do nagłówków}}}} {{sr|#m["PEŁNANAZWAKSIĄŻKI"]()|p=Nazwy - Tom IV}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=}}}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=tak}}}} ---- {{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}} ---- {{#invoke:Pudełko|Typ jednostki|typ jednostki=podręcznik dyskusji|dyskusja typu jednostki=}} {{DNUinfo|nazwa przestrzeni nazw=MojaPrzestrzeń}} == {{Śródtytuł|tytan}}tytan == == {{Śródtytuł|tytan}} == {{ŚródTekst|uchwyt=tytan|tekst=Oto jest tekst}} {{LinkŚródTekst|tytan}} qe1yuanwbjum0yf3ztph3a98cyyc1fj 543691 543687 2026-05-21T06:51:30Z Persino 2851 /* {{Śródtytuł|tytan}} */ 543691 wikitext text/x-wiki {{Nowiki|{{Link wewnętrzny|strona=Pomoc:Spis treści|uri=tak}}}} ---- {{Nowiki|{{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}}}} ---- {{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}} ---- {{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}} {{PobierzNumerArtykułu|Muzyka|dane=3|poziomowo=tak|nagłówek=tak|bez automatu=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Estoński/Muzyka}} --- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Szablony edycji - błędy wywołań}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do obiektów}}}} ---- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brak licencji, na stronach głównych, publikacji}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brakujące spisy treści, dołączonych do stron, stron w innych książkach}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z dołączonymi innymi stronami, w książkach, z obiektami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z wypowiedzeniami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do nagłówków}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Artykusły2 dla dzieci2, ze złymi uchwytami do nagłówków}}}} {{sr|#m["PEŁNANAZWAKSIĄŻKI"]()|p=Nazwy - Tom IV}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=}}}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=tak}}}} ---- {{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}} ---- {{#invoke:Pudełko|Typ jednostki|typ jednostki=podręcznik dyskusji|dyskusja typu jednostki=}} {{DNUinfo|nazwa przestrzeni nazw=MojaPrzestrzeń}} == {{Śródtytuł|tytan}}tytan == == {{Śródtytuł|tytan}} == {{ŚródTekst|uchwyt=tytan|tekst=Oto jest tekst}} {{ŚródTekst|uchwyt=tytan|tekst=Oto jest tekst}} {{LinkŚródTekst|tytan}} k61no19jmwp7k57zx15cmetkvfwzu3a 543695 543691 2026-05-21T06:57:55Z Persino 2851 /* {{Śródtytuł|tytan}} */ 543695 wikitext text/x-wiki {{Nowiki|{{Link wewnętrzny|strona=Pomoc:Spis treści|uri=tak}}}} ---- {{Nowiki|{{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}}}} ---- {{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}} ---- {{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}} {{PobierzNumerArtykułu|Muzyka|dane=3|poziomowo=tak|nagłówek=tak|bez automatu=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Estoński/Muzyka}} --- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Szablony edycji - błędy wywołań}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do obiektów}}}} ---- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brak licencji, na stronach głównych, publikacji}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brakujące spisy treści, dołączonych do stron, stron w innych książkach}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z dołączonymi innymi stronami, w książkach, z obiektami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z wypowiedzeniami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do nagłówków}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Artykusły2 dla dzieci2, ze złymi uchwytami do nagłówków}}}} {{sr|#m["PEŁNANAZWAKSIĄŻKI"]()|p=Nazwy - Tom IV}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=}}}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=tak}}}} ---- {{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}} ---- {{#invoke:Pudełko|Typ jednostki|typ jednostki=podręcznik dyskusji|dyskusja typu jednostki=}} {{DNUinfo|nazwa przestrzeni nazw=MojaPrzestrzeń}} == {{Śródtytuł|tytan}}tytan == == {{Śródtytuł|tytan}} == {{ŚródTekst|uchwyt=tytan1|tekst=Oto jest tekst}} {{ŚródTekst|uchwyt=tytan2|tekst=Oto jest tekst}} {{LinkŚródTekst|tytan2}} 6k85bj02x74xrcpejsg78prfzh42mga 543696 543695 2026-05-21T07:10:38Z Persino 2851 /* {{Śródtytuł|tytan}} */ 543696 wikitext text/x-wiki {{Nowiki|{{Link wewnętrzny|strona=Pomoc:Spis treści|uri=tak}}}} ---- {{Nowiki|{{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}}}} ---- {{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}} ---- {{WydobądźLinki|{{lg|Pomoc%3ASpis%20tre%C5%9Bci|uri=tak}}}} {{PobierzNumerArtykułu|Muzyka|dane=3|poziomowo=tak|nagłówek=tak|bez automatu=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Estoński/Muzyka}} --- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Szablony edycji - błędy wywołań}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do obiektów}}}} ---- {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brak licencji, na stronach głównych, publikacji}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Brakujące spisy treści, dołączonych do stron, stron w innych książkach}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z dołączonymi innymi stronami, w książkach, z obiektami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony z wypowiedzeniami ze złymi uchwytami}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Strony ze złymi uchwytami do nagłówków}}}} {{Nowiki|{{Kategoria|Szablony, tworzące linki, do sprawdzenia|nazwa jednostki=Artykusły2 dla dzieci2, ze złymi uchwytami do nagłówków}}}} {{sr|#m["PEŁNANAZWAKSIĄŻKI"]()|p=Nazwy - Tom IV}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=}}}} {{Nowiki|{{lpg|Stołeczne Terytorium Islamabadu|a=tak}}}} ---- {{#invoke:Pudełko|Nazwa przedmiotowa jednostki 3|nazwa przestrzeni nazw 2=Dyskusja|nazwa jednostki 2=Wikibooks:Strona|numer jednostki=2}} ---- {{#invoke:Pudełko|Typ jednostki|typ jednostki=podręcznik dyskusji|dyskusja typu jednostki=}} {{DNUinfo|nazwa przestrzeni nazw=MojaPrzestrzeń}} == {{Śródtytuł|tytan}}tytan == == {{Śródtytuł|tytan}} == {{ŚródTekst|uchwyt=tytan1|tekst=Oto jest tekst}} {{ŚródTekst|uchwyt=tytan2|tekst=Oto jest tekst}} {{LinkŚródTekst|tytan1||Wikipedysta:Persino/brudnopis11}} fnkzsnaxajrg71geu1cvhb3n3tesu7i Wikibooks:Moduły/Strony 4 63361 543643 542700 2026-05-21T00:44:32Z Persino 2851 /* {{Code|findFile}} */ 543643 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 67hovb47e4a9dkbqolgfyj119i7cdas 543644 543643 2026-05-21T00:45:29Z Persino 2851 /* {{Code|p.ZnajdowaniePlikowe}} */ 543644 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 3l8wmh9gwpc2po9ch0v7bt8ymf96whw 543645 543644 2026-05-21T00:56:56Z Persino 2851 /* {{Code|checkSizeFile}} */ 543645 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} - dostępne tryb {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> e8ingw5g3674yely85q06693mstns8j 543648 543645 2026-05-21T01:08:44Z Persino 2851 /* {{Code|checkSizeFile}} */ 543648 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryb {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> o57li2j1eurha6jv1zcc0ukfplwotkv 543649 543648 2026-05-21T01:09:33Z Persino 2851 /* {{Code|p.SprawdzanieRozmiaruPliku}} */ 543649 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryb {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|rozmiar}} lub {{Code|1}} - jak w: {{LinkPatrz|size}}, * {{Code|tryb}} lub {{Code|2}} - jak w: {{LinkPatrz|tryb}}. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> n1wbc15vbo36muhdz4jpjkt12s1bj37 543650 543649 2026-05-21T01:11:33Z Persino 2851 /* {{Code|p.SprawdzanieRozmiaruPliku}} */ 543650 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryb {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|1}} lub {{Code|rozmiar}} - jak w: {{LinkPatrz|size}}, * {{Code|2}} lub {{Code|tryb}} - jak w: {{LinkPatrz|tryb}}. Kolejność ważności parametrów jest podana w kolejności odwrotnej niż to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ilpw2wvuyecoviqcy94auejmkvlnbuy 543651 543650 2026-05-21T01:13:02Z Persino 2851 /* {{Code|p.SprawdzanieRozmiaruPliku}} */ 543651 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryb {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|rozmiar}} lub {{Code|1}} - jak w: {{LinkPatrz|size}}, * {{Code|tryb}} lub {{Code|2}} - jak w: {{LinkPatrz|tryb}}. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 0dzcqiisipsvry9c9a79bkjxtlf31f4 543652 543651 2026-05-21T01:14:12Z Persino 2851 /* Funkcje obuduwujące właściwe funkcje sprawdzające */ 543652 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryb {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|rozmiar}} lub {{Code|1}} - jak w: {{LinkPatrz|size}}, * {{Code|tryb}} lub {{Code|2}} - jak w: {{LinkPatrz|tryb}}. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ah86tfdgrs12wrawz8tiqodanrhgbot 543653 543652 2026-05-21T01:31:45Z Persino 2851 /* Właściwe lokalne funkcje sprawdzające */ 543653 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Parametry funkcji: * {{Code|uri}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Parametry funkcji: * {{Code|name_nieprzetworzone}} - nazwa pliku z przestrzenia nazw lub nie, w zależności od drugiego parametru, * {{Code|przestrzen}} - czy w nazwie pliku mają być uwzględniane przestrzenie nazw. Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryb {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. Przykłady użycia: <syntaxhighlight lang="lua"> local rozmiar="12emx150px"; local tryb=true; local czy_tak=checkSizeFile(rozmiar,tryb); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|rozmiar}} lub {{Code|1}} - jak w: {{LinkPatrz|size}}, * {{Code|tryb}} lub {{Code|2}} - jak w: {{LinkPatrz|tryb}}. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> fw9io0jw4nz5d2854ifnl17o3km9l33 543654 543653 2026-05-21T01:34:26Z Persino 2851 /* {{Code|checkSizeFile}} */ 543654 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Parametry funkcji: * {{Code|uri}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Parametry funkcji: * {{Code|name_nieprzetworzone}} - nazwa pliku z przestrzenia nazw lub nie, w zależności od drugiego parametru, * {{Code|przestrzen}} - czy w nazwie pliku mają być uwzględniane przestrzenie nazw. Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryby: {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. Przykłady użycia: <syntaxhighlight lang="lua"> local rozmiar="12emx150px"; local tryb=true; local czy_tak=checkSizeFile(rozmiar,tryb); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|rozmiar}} lub {{Code|1}} - jak w: {{LinkPatrz|size}}, * {{Code|tryb}} lub {{Code|2}} - jak w: {{LinkPatrz|tryb}}. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 4xu7ppzbnp2d8de5gbiznqw1ebircs9 543655 543654 2026-05-21T01:35:49Z Persino 2851 /* {{Code|findFile}} */ 543655 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do imolementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Parametry funkcji: * {{Code|uri}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Parametry funkcji: * {{Code|name_nieprzetworzone}} - nazwa pliku z przestrzenia nazw lub nie, w zależności od drugiego parametru, * {{Code|przestrzen}} - czy w nazwie pliku mają być uwzględniane przestrzenie nazw. Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryby: {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. Przykłady użycia: <syntaxhighlight lang="lua"> local rozmiar="12emx150px"; local tryb=true; local czy_tak=checkSizeFile(rozmiar,tryb); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|rozmiar}} lub {{Code|1}} - jak w: {{LinkPatrz|size}}, * {{Code|tryb}} lub {{Code|2}} - jak w: {{LinkPatrz|tryb}}. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> k8asb20mmo2rpsvhy5ldiyxc9f1ideg 543656 543655 2026-05-21T01:37:01Z Persino 2851 543656 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|Strony}}|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 strony_modul=require("Module:Strony"); </syntaxhighlight> dzięki, któremu można wypisywać funkcje należącego do niego. Funkcje z {{Code|p.}} należą do tablicy transportu zwracanej przez moduł: {{Code|{{ld2|Strony}}}}, a bez niego to są funkcje lokalne w tym module oznaczone słowem {{Code|local}}. Funkcje w tym module są wykorzystywane do sprawdzania, czy dany tekst spełnia jakieś warunki, funkcje bez {{Code|p.}} są wykorzystywane tylko w tym module, a z tym są bazą do implementacji modułu: {{Code|{{ld2|Sprawdź}}}}, w funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, które służą do sprawdzania parametrów szablonów za pomocą funkcji w module: {{Code|{{ld2|Strony}}}}, ta funkcja też korzysta z innych funkcji z innych modułów w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. == Właściwe lokalne funkcje sprawdzające == === {{Code|checkUri}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy podany: {{Code|uri}}, jest adresem URL. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkUri(uri)...end; </syntaxhighlight> Parametry funkcji: * {{Code|uri}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja obsługuje protokoły dla adresów URL podane w liście dla stronie {{ld2|Strony/dane}}: <syntaxhighlight lang="lua"> p.obslugiwaneUriSchematy={ -- najczęściej używane 'http://', 'https://', '//', -- możliwe 'bitcoin:', 'ftp://', 'ftps://', 'geo:', 'git://', 'gopher://', 'irc://', 'ircs://', 'magnet:', 'mailto:', 'mms://', 'news:', 'nntp://', 'redis://', 'sftp://', 'sip:', 'sips:', 'sms:', 'ssh://', 'svn://', 'tel:', 'telnet://', 'urn:', 'worldwind://', 'xmpp:', }; </syntaxhighlight> Funkcja zwraca wartość logiczną {{Code|true}}, gdy podany adres jest adresem URL, według obsługiwanych protokołów, a jeśli nie, to ona zwróci wartość {{Code|false}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local czy_tak=checkUri(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|checkImageName}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkImageName(name_nieprzetworzone,przestrzen)...end; </syntaxhighlight> Parametry funkcji: * {{Code|name_nieprzetworzone}} - nazwa pliku z przestrzenia nazw lub nie, w zależności od drugiego parametru, * {{Code|przestrzen}} - czy w nazwie pliku mają być uwzględniane przestrzenie nazw. Funkcja sprawdza, czy podany adres wewnętrzny jest adresem pliku. Możliwe są dwa warianty, wariant: {{Code|przestrzen {{=}} false}}, gdzie nie może być podana przestrzeń nazw plikowa, tzn., która jest podana w zmiennej na stronie: {{Code|{{ld2|Strony/dane}}}}, którego fragment: <syntaxhighlight lang="lua"> prefix = { plik = true, image = true, grafika = true, file = true, media = true, }, </syntaxhighlight> lub może, ale nie musi być podana z dodatkowymi przestrzeniami, nawet nieplikowymi, w takim przypadku ta funkcji zwróci wynik: {{Code|false}}, a w przeciwnym wypadku, funkcja może zrzucić wartość {{Code|true}}, ale nie musi. Możliwe są rozszerzenia plików, dla których ta funkcja może dać wynik {{Code|true}}, tzn.: <syntaxhighlight lang="lua"> extension = { flac = true, jpg = true, jpeg = true, jpe = true, mid = true, midi =true, mp3 = true, mpg = true, mpeg = true, oga = true, ogg = true, ogv = true, opus = true, png = true, svg = true, tif = true, tiff = true, gif = true, xcf = true, pdf = true, djvu = true, wav = true, webm = true, webp = true, }, </syntaxhighlight> Ale plik też nie musi mieć rozszerzenia, ale może, pliki bez nich bez przestrzeni plikowych: <syntaxhighlight lang="lua"> name = { ["@"]=true, }, </syntaxhighlight> Funkcja zwróci wartość {{Code|true}}, gdy strona jest prawidłowych adresem wewnętrznym strony przestrzeni plikowej, gdy drugi argument jest {{Code|false}}, strona nie może być podana z przestrzeniami plikowymi, ale z innymi już tak, co wtedy jest to traktowane jako część nazwy w przestrzeni nazw: {{Np|File|link=tak}}. Gdy drugi parametr ma wartość prawdziwą, wtedy strona może być podana z przestrzenią lub nie, byle tylko był to, pełny lub nie, adres strony pliku. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local czy_tak=checkImageName(plik,true); </syntaxhighlight> Strona jest podana, z prawidłową przestrzenią plikową, z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local czy_tak=checkImageName(plik,false); </syntaxhighlight> Strona jest podana bez przestrzeni plikowej, ale z prawidłowym rozszerzeniem pliku, więc wtedy funkcja zrzuci wartość {{Code|czy_tak}} równą {{Code|true}}. === {{Code|findPlainHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, w tekście, czy istnieje, sprawdza, czy ona nie jest częścią linku zewnętrznego, a jeśli nie, to funkcja zwraca wynik {równy, ale nie {{Code|nil}}, w przeciwnym wypadku {{Code|nil}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findPlainHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findPlainHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|findAnyHttp}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function findAnyHttp(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja sprawdza, czy adres: {{Strong|http://}}, czy {{Strong|https://}}, jest w tekście, wtedy funkcji zwróci wynik nienilowy, a w przeciwym wypadku {{Code|nil}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local czy_tak=findAnyHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|findFile}} === Funkcja jest formułowana do użycia tylko w module, w której został zdefiniowany, ze względu na lokalność tej funkcji. Funkcja sprawdza, czy w tekście jest wywołanie plikowe. Funkcja chowaj wyjątek z obrazka generowanego przez: {{Code|{{s|Link-interwiki|z przestrzenią=tak}}}}. Definicji skrótowa funkcji: <syntaxhighlight lang="lua"> local function findFile(text)...end; </syntaxhighlight> Parametry funkcji: * {{Code|text}} - sprawdzany tekst, który ma spełniać pewne kryteria. Funkcja rozpoznaje rozszerzenia plików: {{Strong|Plik}}, {{Strong|File}}, {{Strong|Grafika}} i {{Strong|Image}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local czy_tak=findFile(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|checkSizeFile}} === Funkcja sprawdza rozmiary,który jest łańcuchem znaków, czy zgadza się z określonym formatem według ustawień w module: {{Code|{{ld2|Strony/dane}}}}, według dwóch dostępnych trybów. ; Tryb fałszywy, gdy {{Nobold|{{Code|tryb {{=}} false}}}} {{Patrz|tryb {{=}} false}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku={ "^%s*%d+px%s*$", "^%s*x%d+px%s*$", "^%s*%d+x%d+px%s*$", }; </syntaxhighlight> ; Tryb prawdziwy, gdy {{Nobold|{{Code|tryb {{=}} true}}}} {{Patrz|tryb {{=}} true}}{{Dk}} <syntaxhighlight lang="lua"> p.tablica_parsowania_rozmiaru_pliku_2={ "^%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)$", "^x%d+%.?%d*(%a*)$", "^x%d+%.?%d*(%%)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%a*)$", "^%d+%.?%d*(%a*)x%d+%.?%d*(%%)$", "^%d+%.?%d*(%%)x%d+%.?%d*(%%)$", }; </syntaxhighlight> Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function checkSizeFile(size,tryb)...end; </syntaxhighlight> Parametry funkcji: * {{Code|size}} {{Patrz|size}} - łańcuch znaków,który przedstawia tylko szerokość lub tylko wysokość albo jednocześniew jednym szerokość i wysokość, * {{Code|tryb}} {{Patrz|tryb}} - dostępne tryby: {{Code|false/true}}, pierwszy tryb, to dla {{LinkPatrz|tryb {{=}} false}}, a drugi {{LinkPatrz|tryb {{=}} true}}. Przykłady użycia: <syntaxhighlight lang="lua"> local rozmiar="12emx150px"; local tryb=true; local czy_tak=checkSizeFile(rozmiar,tryb); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. == Funkcje obuduwujące właściwe funkcje sprawdzające == === {{Code|p.SprawdzanieURL}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieURL(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkUri|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|url}} lub {{Code|1}} - adres URL strony internetowej. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|url}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local uri="https://em.wikibooks.org/wiki/Mechanik_teoretyczna"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieURL(uri); </syntaxhighlight> Funkcja w przykładzie zrzuci wartość logiczną {{Code|czy_tak {{=}} true}}, czyli prawdę. === {{Code|p.SprawdzanieNazwyPlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieNazwyPlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkImageName|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|nazwa}} lub {{Code|1}} - nazwa strony, ewentualnie z rozszerzeniem strony, * {{Code|przestrzeń}} lub {{Code|2}} - czy ma uwzględniać przestrzeń nazw strony. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|nazwa}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local plik="Grafika:Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local plik="Strona_pliku.jPG"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.SprawdzanieNazwyPlikowe(plik); </syntaxhighlight> Funkcja zrzuci wynik nienilowy. === {{Code|p.ZnajdowanieNormalnychStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieNormalnychStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findPlainHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są nie w linku zewnętrznym. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieNormalnychStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik {{Code|nil}}. === {{Code|p.ZnajdowanieJakikolwiekStronHttp}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowanieJakikolwiekStronHttp(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findAnyHttp|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - jest to tekst do sprawdzenia, czy strony {{Strong|http://}} i {{Strong|https://}}, są w tekście. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: ; Pierwszy <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem https://pl.wikibooks.org ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. ; Drugi <syntaxhighlight lang="lua"> local tekst="Oto jest tekst z linkiem [https://pl.wikibooks.org pl.wikibooks.org] ilustrujący zasada działania Wikibooks"; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowanieJakikolwiekStronHttp(tekst); </syntaxhighlight> Funkcja zrzuci wynik pozytywny nienilowy. === {{Code|p.ZnajdowaniePlikowe}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZnajdowaniePlikowe(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#findFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|tekst}} lub {{Code|1}} - tekst do spradzenia, czy strona ma wywołania plikowe. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|tekst}}, czy {{Code|1}}. Przykłady użycia: <syntaxhighlight lang="lua"> local tekst="Strona z plikiem: [[Plik:Strona_plikowa.jpg|thumb|right|250px|link=w:Strona_na_wikipedii|Oto jest opis]], a oto jest dalszy tekst."; local strony_modul=require("Module:Strony"); local czy_tak=strony_modul.ZnajdowaniePlikowe(tekst); </syntaxhighlight> Funkcja zwróci wartość nienilową, czyli pozytywną. === {{Code|p.SprawdzanieRozmiaruPliku}} === Funkcję uruchamia się w ramce w wikikodzie w szablonie lub w kodzie {{lpg|Lua}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SprawdzanieRozmiaruPliku(frame)...end; </syntaxhighlight> Funkcja w swojej budowie bezpośrednio wykorzystuje funkcję {{Code|{{sr|#checkSizeFile|p=Strony}}}}. Funkcja wykorzystuje do zbierania parametrów funkcji funkcję: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}, którego parametr może być podany w postaci zmiennej łańcuchowej znaków, lub w postaci tablicy, a również w zmiennej {{Code|args}}, w tablicy, która jest parametrem funkcji, a nawet mogą być parametry podane w ramce z wywołaniem tej funkcji. Parametry ramki funkcji tablicy transportu: * {{Code|rozmiar}} lub {{Code|1}} - jak w: {{LinkPatrz|size}}, * {{Code|tryb}} lub {{Code|2}} - jak w: {{LinkPatrz|tryb}}. Kolejność ważności parametrów jest podana w kolejności prostej jak to wyliczono parametry ramki. Ramka wywołana w wikikodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} uwzględnia parametry ramki, gdy ma on dodatkowy parametr dziecka {{Parametr|wyspecjalizowana|tak}}, w pezeciwnym wypadku liczą się parametry rodzica. Jeżeli tym argumentem funkcji nie jest tabela, czy sama ramka, wtedy jest to łańcuch znakowych, który tyle znaczy, co te jej parametry, czyli: {{Code|rozmiar}}, czy {{Code|1}}, wtedy zachodzi {{LinkPatrz|tryb {{=}} false}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> suutv24d1gzws7ha0fosas84y9o03qq Wikibooks:Moduły/StronicowyParser/SpisTreści 4 63522 543657 542192 2026-05-21T03:05:44Z Persino 2851 543657 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Zmienne lokalne == === {{Code|Ile}} === === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === == Zmienne tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== {{Code|PomijajLinkiOrazLicencje}} ==== ==== {{Code|CzySzablonLinkLubLicencja}} ==== ==== {{Code|iteratorTekstuNaglowka}} ==== ==== {{Code|LiniaArtykulow}} ==== ==== {{Code|WsadzanieParametryDoTablicy}} ==== ===== {{Code|CzyZaliczac}} ===== ==== {{Code|AnalizaLiniiObiekty}} ==== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== {{Code|Spis}} ==== ==== {{Code|InneSpisy}} ==== ==== {{Code|SpisRzeczy}} ==== ==== {{Code|IteratorFun}} ==== ==== {{Code|ZbieranieDanychStronZAutonawigacji}} ==== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 6ouun8k4x5gmdfe8xcf19jl2wba4a3b 543658 543657 2026-05-21T03:07:51Z Persino 2851 /* Zmienne tablicy transportu */ 543658 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Zmienne lokalne == === {{Code|Ile}} === === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === == Zmienne tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Zmienne lpokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Zmienne lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ssq2cj7fust6lgl0ily4fosscf0gh2s 543659 543658 2026-05-21T03:08:22Z Persino 2851 /* Zmienne lpokalne */ 543659 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Zmienne lokalne == === {{Code|Ile}} === === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === == Zmienne tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Zmienne lokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Zmienne lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 6p1g12dlr2jf3wgdb6oz5n3m8r3ragj 543660 543659 2026-05-21T03:36:06Z Persino 2851 543660 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Code|Ile}} === === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === == Funkcje tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Funkcje lokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Fukcje lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> h5o3htx78dhkf6nlcfucg3foi0bb528 Wikibooks:Moduły/StronicowyParser/StronaSubst 4 63523 543536 543504 2026-05-20T13:38:32Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} */ 543536 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 5s6lt5qifudqan0u7vqgo9wrwztnfdz 543537 543536 2026-05-20T13:42:10Z Persino 2851 543537 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> m5mavx72jbd1zrn0p0v3hkh6pfovpuh 543538 543537 2026-05-20T13:51:24Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} */ 543538 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 483hj7o8pf8715futfvltyk6qbd1dbw 543540 543538 2026-05-20T14:04:47Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} */ 543540 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> oip1or2isksmok5uormpgfuiat8coqz 543541 543540 2026-05-20T14:06:12Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} */ 543541 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 47x6gen5gu0xltupqgl5xm52x7o0m2l 543543 543541 2026-05-20T14:26:55Z Persino 2851 /* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */ 543543 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 9lgla07udzthtpo185xkgs1oh7fht9k 543544 543543 2026-05-20T15:04:49Z Persino 2851 /* {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} */ 543544 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 4vlhqdk7gs95kjkavpn4jxamdir2xp8 543545 543544 2026-05-20T15:07:08Z Persino 2851 /* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */ 543545 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 4ld8c9anc3vwd3hmknhd2s6kg5swipc 543546 543545 2026-05-20T15:09:35Z Persino 2851 /* {{Śródtytuł|TakFun}}{{Code|TakFun}} */ 543546 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 0wv2emtete2m570cpjyxvz1e4dnwf5o 543547 543546 2026-05-20T15:25:40Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} */ 543547 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 2nra174wlgvvj9nyh5ormafyak7zbmp 543548 543547 2026-05-20T15:39:47Z Persino 2851 /* Funkcje lokalne */ 543548 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 8rl2w92d24xccwowgz6543oaov01qlg 543549 543548 2026-05-20T15:43:31Z Persino 2851 /* {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} */ 543549 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - uwzględnia ładowalny postęp, wtedy adres artykułu w tekście rozdziału będzie ukryty, wykorzystywany przez {{LinKŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 48fkfwsddauvwt57vnw82wi5iuvoo7i 543550 543549 2026-05-20T15:54:48Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} */ 543550 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - uwzględnia ładowalny postęp, wtedy adres artykułu w tekście rozdziału będzie ukryty, wykorzystywany przez {{LinKŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ----- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> l7sgywvsmuk4k3tq5svmqvvwt3oftck 543551 543550 2026-05-20T15:55:12Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} */ 543551 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - uwzględnia ładowalny postęp, wtedy adres artykułu w tekście rozdziału będzie ukryty, wykorzystywany przez {{LinKŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> fed5o67hwfv2wpirr4453b6la98obf5 543552 543551 2026-05-20T15:56:36Z Persino 2851 /* {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} */ 543552 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - uwzględnia ładowalny postęp, wtedy adres artykułu w tekście rozdziału będzie ukryty, wykorzystywany przez {{LinKŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> e1veglk8wxw134ikv317vx994polnzb 543553 543552 2026-05-20T16:11:51Z Persino 2851 /* {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} */ 543553 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep}}, wykorzystywany przez {{LinKŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 2qrabm7aa5aupe9rtuzxk41l24slpak 543554 543553 2026-05-20T16:12:37Z Persino 2851 /* {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} */ 543554 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> d4ga9rerreup6zzjita6p18xrjmv3zr 543555 543554 2026-05-20T16:13:50Z Persino 2851 /* {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} */ 543555 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> r9zj9fr113nlm5xhi7w7tm2s4zxsy9x 543556 543555 2026-05-20T16:21:25Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543556 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkSródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do .... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bmyzxdn63h3ig5b3f054q0rap9igftx 543557 543556 2026-05-20T16:21:57Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543557 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do .... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bzcy8k75xnwe43ayuf705kisrm0yuq3 543558 543557 2026-05-20T16:22:36Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543558 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then .... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do .... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> thnzklo5vzore17mfta9fj1cpz8th81 543559 543558 2026-05-20T16:23:24Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543559 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LikPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then .... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do .... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 9b001v9got8yitfod2f63zj7ryri9ur 543560 543559 2026-05-20T16:36:13Z Persino 2851 /* {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} */ 543560 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then .... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do .... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> l8tcjv215gj2f1sxmsbjx0867e9ry4q 543561 543560 2026-05-20T16:37:03Z Persino 2851 /* {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} */ 543561 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then .... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do .... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); .... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ias3cuxw0g5qmarftzkd8b2p8c2j0uw 543562 543561 2026-05-20T16:37:56Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543562 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> tfhr02qb2kgaqo1bjz0xgh59aqtr0da 543563 543562 2026-05-20T16:43:46Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543563 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> jc4bnqfmwqvcyg2nyfj0pvqgco5t1bv 543564 543563 2026-05-20T16:51:24Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543564 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 21ljr7rxufh5ab3s4u6wrhc76eqeypu 543572 543564 2026-05-20T17:40:08Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543572 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{Link|Wersja do czytania}}i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracębez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdynie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcjijest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdziałmoże składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pstemu łańcuchowi {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtótrzenie danego rozdziału z {{LinkPatrz|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego ytakiego rozdziału, co ten numer jest wykorzystywany w tablicy liczoczej spis treści {{LinkPatrz|toc_nowe}}. Co potem dla wszystkich rozdziału o dowolnym nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{linkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> d5vcs8zqc9d8na6y44n5cki8zk72x5e 543573 543572 2026-05-20T17:40:56Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543573 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{Link|Wersja do czytania}}i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracębez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdynie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcjijest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdziałmoże składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pstemu łańcuchowi {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtótrzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego ytakiego rozdziału, co ten numer jest wykorzystywany w tablicy liczoczej spis treści {{LinkPatrz|toc_nowe}}. Co potem dla wszystkich rozdziału o dowolnym nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{linkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 4y22jrpdzjz4biluym6ibd6xfhe3oja 543574 543573 2026-05-20T17:41:22Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543574 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}}i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracębez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdynie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcjijest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdziałmoże składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pstemu łańcuchowi {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtótrzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego ytakiego rozdziału, co ten numer jest wykorzystywany w tablicy liczoczej spis treści {{LinkPatrz|toc_nowe}}. Co potem dla wszystkich rozdziału o dowolnym nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{linkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 3mtc5qt1g3bloq5ap04ggxrfjs4l51h 543575 543574 2026-05-20T17:41:54Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543575 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}}i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracębez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdynie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcjijest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdziałmoże składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pstemu łańcuchowi {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtótrzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego ytakiego rozdziału, co ten numer jest wykorzystywany w tablicy liczoczej spis treści {{LinkPatrz|toc_nowe}}. Co potem dla wszystkich rozdziału o dowolnym nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> oj3b8iaw0zdp539unxx00ctf8d10qi8 543576 543575 2026-05-20T17:42:16Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543576 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracębez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdynie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcjijest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdziałmoże składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pstemu łańcuchowi {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtótrzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego ytakiego rozdziału, co ten numer jest wykorzystywany w tablicy liczoczej spis treści {{LinkPatrz|toc_nowe}}. Co potem dla wszystkich rozdziału o dowolnym nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> qo0s8imfbia6mlqqvnljog8al6yhir7 543577 543576 2026-05-20T17:52:34Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543577 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracębez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdynie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcjijest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdziałmoże składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pstemu łańcuchowi {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtótrzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego ytakiego rozdziału, co ten numer jest wykorzystywany w tablicy liczoczej spis treści {{LinkPatrz|toc_nowe}}. Co potem dla wszystkich rozdziału o dowolnym nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> tfp3fivrgtuikwi1dp1f676fnx9zh88 543578 543577 2026-05-20T18:02:11Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543578 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracębez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdynie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcjijest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdziałmoże składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pstemu łańcuchowi {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtótrzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego ytakiego rozdziału, co ten numer jest wykorzystywany w tablicy liczoczej spis treści {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> dwseuh736tl351kocg1d6l3uyjbxy97 543579 543578 2026-05-20T18:05:29Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543579 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony {{Tag|div|parametry=class="klasa_książki"}}, a znaczniki {{Tag|viv}}, dla poszczególnych rozdziałów artykuły są otoczone {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> hpkajsc485tcw8nsc46jml2nojp9oha 543580 543579 2026-05-20T18:08:57Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543580 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych tablicach, tzn. {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 1o3ybnobhiqg6w80f3w10p6c2xmpmgh 543582 543580 2026-05-20T18:29:27Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543582 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{linkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}} oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 8i9ktp017fztmpfkdds4wdffhx05gzw 543584 543582 2026-05-20T18:33:47Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543584 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej fukcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bm2elgwdsfk2ad2h2300boam0c1dr3m 543586 543584 2026-05-20T18:39:24Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543586 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ddinr8pw32kean9cerk2maaq788v49d 543589 543586 2026-05-20T18:46:03Z Persino 2851 /* {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} */ 543589 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> at7zd4co2bu8ixfpygdm30c5vohbq65 543590 543589 2026-05-20T18:46:26Z Persino 2851 /* {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} */ 543590 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{LinkPatrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 7wxeq5ykitruujjm567bo3aox73n8x4 543591 543590 2026-05-20T18:49:49Z Persino 2851 /* {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} */ 543591 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 9lkzl9z962gnwilk2fkjhvkbbjtqkws 543592 543591 2026-05-20T18:50:47Z Persino 2851 /* {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} */ 543592 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 81m2gk3x35beza51p58xxm5mb54mwaw 543593 543592 2026-05-20T18:53:14Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543593 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Dla aktualnej książki jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> dpz9gv6zw40wpm6ek5djxm6b3yy428v 543594 543593 2026-05-20T19:01:52Z Persino 2851 /* {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} */ 543594 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> lhribd5mt37lyan0sg38xk89guoxvj3 543595 543594 2026-05-20T19:06:22Z Persino 2851 /* {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} */ 543595 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> nvkvrms3y28rtmjdpjjtnro90sak6ah 543596 543595 2026-05-20T19:08:01Z Persino 2851 /* {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} */ 543596 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> cgyasd3zq88q7yhpzr7uj8rr9wc0yut 543597 543596 2026-05-20T19:14:24Z Persino 2851 /* {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} */ 543597 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w którrej uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> f1abs4d0xcaekcdoz3xhonxcyjf2g9n 543598 543597 2026-05-20T19:15:39Z Persino 2851 /* {{Code|p.LiczOperacjeStronZbiorczych}} */ 543598 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w którrej uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> hf3nealnyj540sa42kog4zxhc7d0u2k 543599 543598 2026-05-20T19:17:33Z Persino 2851 /* {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} */ 543599 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówkac, tworząc spis treści. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> l441vlxaoqptkz1dbmbyl5agmux8bp1 543600 543599 2026-05-20T19:21:50Z Persino 2851 /* Opis funkcji */ 543600 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówkac, tworząc spis treści. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 7wlnx978c0fr3cnvh355jskq9jvopoo 543601 543600 2026-05-20T19:23:05Z Persino 2851 /* {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} */ 543601 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówka, tworząc kolejne pozycje spisu treści na stronie zbiorczej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozzycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłóków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> j7ovo7b34z4hldzrewfad0ihhoivr7k 543608 543601 2026-05-20T21:07:45Z Persino 2851 /* ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego */ 543608 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówka, tworząc kolejne pozycje spisu treści na stronie zbiorczej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłówków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowaa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> przimf90igi83725133a7smsfisxbll 543609 543608 2026-05-20T21:08:34Z Persino 2851 /* PoziomNapisowyWprowadzeniaTekstu */ 543609 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówka, tworząc kolejne pozycje spisu treści na stronie zbiorczej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłówków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> p1uk3ob9add9a8z142wesegj3gisuie 543612 543609 2026-05-20T21:15:48Z Persino 2851 /* AnalizowanieWoluminu */ 543612 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówka, tworząc kolejne pozycje spisu treści na stronie zbiorczej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłówków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej książki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjonwana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 4g0sl9bq8l6d0nkmccsx45au4me5ood 543637 543612 2026-05-20T22:54:17Z Persino 2851 /* {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} */ 543637 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówka, tworząc kolejne pozycje spisu treści na stronie zbiorczej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłówków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej książki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjowana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ezbfuoro4clitrn0v17hsjc3h2ex42n 543638 543637 2026-05-20T23:01:42Z Persino 2851 /* {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} */ 543638 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówka, tworząc kolejne pozycje spisu treści na stronie zbiorczej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłówków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania artukułów danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej książki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjowana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> desfito71ibi9ggm1jijfocs4jsn8ho 543642 543638 2026-05-21T00:36:54Z Persino 2851 /* {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} */ 543642 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} == Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie: w wersji do czytania: {{Patrz|Wersja do czytania}} o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}, lub wersji do druku: {{Code|Wersja do druku}} {{Patrz|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}. Gdy dany artykuł, jest nie równy: {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: ; Najważniejsze zmienne{{Dk}} * {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}}, * {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}. ; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}} * {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}. ; Funkcje{{Dk}} * {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową, * {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa, * {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału. ; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}} * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy, * {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka, * {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły, * {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki. A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana. Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza. == {{Śródtytuł|LiczOperacjeStronZbiorczych}}{{Code|p.LiczOperacjeStronZbiorczych}} == Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej. === Opis funkcji === Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}. Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}). Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}}, * {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony, * {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić. Funkcja ma w swoje definicji bezpośrednio zmienne: {{Code|toc_nowe}} do tworzenia spisu treści, którą zapisujemy pod zmienną {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}} w podtablicy {{Code|TOC_StronaZbiorcza}} {{Patrz|TOC_StronaZbiorcza}}. Również ma zmienną używaną w funkcji: {{LinkŚródtytuł|Powtarzane}}, tzn. {{LinkPatrz|tab_powtarzane}}. === Funkcje lokalne === ==== {{Śródtytuł|Powtarzane}}{{Code|Powtarzane}} ==== Funkcja, którego parametrem jest rozdział. Liczy numer takiego samego rozdziału. Do swojego działania funkcja wykorzystuje tabelę {{Code|tab_powtarzane}} {{Patrz|tab_powtarzane}} zdefiniowanej w funkcji: {{LinkŚródtytuł|LiczOperacjeStronZbiorczych}}, aby uzyskać unikalność danego nagłówka, tworząc kolejne pozycje spisu treści na stronie zbiorczej. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Powtarzane(rozdzial)...end; </syntaxhighlight> Parametry funkcji: * {{Code|parametr}} - podany rozdzial spisu treści lub podanego rozdzialu w artykułach, w zależności od sytuacji, w której uruchomiono tą zmienną. Przykład użycia: <syntaxhighlight lang="lua"> local liczba_powtarzanego=Powtarzane(naglowek); </syntaxhighlight> ==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ==== Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyStronaSubst()...end; </syntaxhighlight> Parametry funkcji: * Brak parametrów. Przykład analizy funkcji, podając je właściwie ciało: <syntaxhighlight lang="lua"> if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; </syntaxhighlight> ==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ==== Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, * {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}}, * {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, * {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}. Przykłady wykorzystania: <syntaxhighlight lang="lua"> WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ... p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)); end ); </syntaxhighlight> Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}. ==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ==== Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}. Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}}, * {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem, * {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz, * {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią, * {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ==== Funkcja liczy pojedynczą pozycję dla artykułu, na stronie zbiorczej, przy wywołaniu szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}. Nie liczy tylko strony typu {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Gdy nie jest włączony parametr sekcji, ale jest właczony paramwetr naglówków, to wtedy strona nie uwzględnia, że strony mogą się powtarzać, w przeciwnym wypadku, dalsze repetowane strony są nie uwzględniane, bo np.stronymogą być z nagłówkami w spisie treści, więc w tym przypadku ma sens używać ten parametr. Gdy na stronie jest włączony parametr sekcji, to dla nazw strony niepowtarzających się, liczy stronę w postaci listy tej samej nazwy strony z jego nagłówkami, tzn. po: {{Code|#}}. Funkcja wykorzystuje do liczenia pojedynczej pozycji artykularnej, a w przypadku włączonej sekcji, również te z nagłówkiem, aby policzyć tekst rozdział, jego tekst rozdziału, tzn. {{LinkŚródtytuł|StronaSubstParametr}}. Fukcja do powtarzanych nagłówków na stronie wykorzystuje funkcję: {{LinkŚródtytuł|Powtarzane}}. Funkcję wywołuje się w pętli aż do granicy dojścia do ostatniego artykułu w książce. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrowa_strony}} {{Patrz|tabela_parametrowa_strony}} - tabela charakteryzujaca dany artykuł, w tym rozdziale. * {{Code|naglowki}} {{Patrz|naglowki}} - parametr uwzględniający, gdy strony na różnych spisach treści na stronie mogą posiadać sobie nagłówki, * {{Code|sekcje}} {{Patrz|sekcje}} - dla stron robi stronę zbiorczą z artykułów, w której dla pojedynczego takiego liczyje nagłókami, którymi są poszczególne rozdziały na stronie, * {{Code|postep}} - jak w: {{LinkPatrz|postep-StronaSubstParametr}}, wykorzystywany przez {{LinkŚródtytuł|StronaSubstParametr}}, * {{Code|tablica_stron}} {{Patrz|tablica_stron}} - tablica zebranych stron przez tą funkcję przekazazywana i zwracana przez nią iteracyjnie, * {{Code|wikikod}} {{Patrz|wikikod}} - wikikod strony tworzony iteracyjnie dla strony zbiorczej dla poszczególnych artykułów książki, nawet tych z nagłówkami, * {{Code|toc_nowe}} {{Patrz|toc_nowe}} - są tutaj liczone pocycje w spisie treści rozważanego artykułu, nawet tych z nagłówkami, w odpowiedni sposób, by wszystkie linki w niej szły do tej samej strony, * {{Code|HNumer}} {{Patrz|HNumer}} - funkcja zwracana przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, * {{Code|m_roznica}} {{Patrz|m_roznica}} - jest to poziom liczony przez funkcję: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}, * {{Code|m_uzyskane}} - jest to poziom tego {{LinkPatrz|m_roznica}} liczony przez: {{LinkPatrz|HNumer}}. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then ... --- ciało przez właściwą pętlą; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do ... ---- ciało pętli przez tą funkcję; tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(tabela_parametrowa_strony,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po tej funkcji; end; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ==== Funkcja liczy poziom rozdziału, który może być różnego typu, np. dodatni normalny, centrowany znacznikowy lub szablonowy, ujemny albo zerowy. Jeżeli w rozdziale znajduje się artykuł, to jedynie może być to rozdział dodatni niezależnie jaki. Rozdział centrowany jest ważniejszy niż ten dodatni normalny. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} {{Patrz|tab_lista}} - tabela przedstawiające pozycję rozdziału i i jego artykułów, dla danego rozdziału, do którego należy artykuł, * {{Code|poziom_rozdzial_centrowany}} - poziom rozdziału dodatniego centrowanego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_dodatni}} - poziom rozdziału dodatniego normalnego, w którym leży dany rozdział, * {{Code|poziom_rozdzial_srednikowy}} - poziom rozdziału ujemnego średnikowego (zaczynający się od {{Code|;}}), w którym leży dany rozdział * {{Code|poziom_rozdzial_zerowy}} - poziom rozdziału zerowego, w którym leży dany rozdzial. Przykłady użycia: <syntaxhighlight lang="lua"> local poziom_rozdzial_dodatni=0; local poziom_rozdzial_zerowy=0; local poziom_rozdzial_centrowany=0; local poziom_rozdzial_srednikowy=0; for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed tą funkcją; local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,poziom_rozdzial_centrowany,poziom_rozdzial_dodatni,poziom_rozdzial_srednikowy,poziom_rozdzial_zerowy); ... ---- ciało pętli po tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ==== Funkcja liczy poziom artykułu, w którym on leży, może on leżeć w rozdziale dodatnim normalnym, a nawet centrowanym znacznikowym lub szablonowym, czy nawet średnikowym, bądź zerowym, względem jego poziomów rozdziałów różnych typów, w którym leży on. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} - poziom rozdziału dodatniego, do której należy artykuł, * {{Code|tabela_parametrowa_strony}} - jak w: {{LinkPatrz|tabela_parametrowa_strony}}, * {{Code|liczba_poziomu_zerowego_dla_strony}} - poziom zerowy rozdziału zerowego, do ktorej należy artykuł, * {{Code|liczba_poziomu_srednikowego_dla_strony}} - poziom sredniowy (ujemny ale napisany za pomocą początkowego średnika), do której należy dany artykuł. Przykłady użycia: <syntaxhighlight lang="lua"> if(tab_lista[2])then local liczba_poziomu_zerowego_dla_strony=0; local liczba_poziomu_srednikowego_dla_strony=0; for _,tabela_parametrowa_strony in ipairs(tab_lista[2])do local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,tabela_parametrowa_strony,liczba_poziomu_zerowego_dla_strony,liczba_poziomu_srednikowego_dla_strony); ... ---- Dalsza część ciała danego okrążenia pętli; end; end; </syntaxhighlight> ==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ==== Funkcja liczy wszystkie pozycje artykularne, tzn. wszystkich artyków, czy to zaznaczonych jako linki wewnętrzne, czy zewnętrzne, czy to w postaci linków inteligetnych, ale tylko artykułów liczonego podręcznika, dla danego rozdziału, wykorzystuje do tego celu funkcje: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}} - do liczenia poziomu artykułów, i {{LinkŚródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} - do listowania pojedynczego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista}} - jak w: {{LinkPatrz|tab_lista}}, * {{Code|m}} {{Patrz|m}} - jest to poziom napisu wprowadzenia tekstu, w którym leży dany artykuł, * {{Code|naglowki}} - jak w: {{LinkPatrz|naglowki}}, * {{Code|sekcje}} - jak w: {{LinkPatrz|sekcje}}, * {{Code|HNumer}} - jak w: {{LinkPatrz|HNumer}}, * {{Code|tablica_stron}} - jak w: {{LinkPatrz|tablica_stron}}, * {{Code|wikikod}} - jak w: {{LinkPatrz|wikikod}}, * {{Code|toc_nowe}} - jak w: {{LinkPatrz|toc_nowe}}, Przykłady użycia: ; Pierwszy dla listowania artukułów danego rozdziału <syntaxhighlight lang="lua"> for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; if(substrona==rozdzial)then if(ktore==licznik_numer_tego_samego_rozdzialu)then ... ---- ciało czści kodu przed; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- dalsza częśc kodu po; end; end; end; </syntaxhighlight> ; Drugi do listowania artykułów książki <syntaxhighlight lang="lua"> for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do ... ---- ciało pętli przed wywołaniem tej funkcji; tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); ... ---- ciało pętli po wywołaniu tej funkcji; end; </syntaxhighlight> ==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ==== Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych. Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}}, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}: * {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki, * {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem, * {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp. Gdy artykuł jest {{LinkPatrz|Wersja do czytania}} lub {{LinkPatrz|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość. Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}. Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica: <syntaxhighlight lang="lua"> glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str; </syntaxhighlight> {{Hr}} W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}. ==== KsiążkaSubst ==== ===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} ===== Funkcja liczy strony zbiorcze dla dla danego rozdziału, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej ksiązki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInneRozdział}} {{Patrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, {{Code|ktore}} {{Patrz|ktore}}, jeżeli tej zmiennej nie podano, to ona domyślnie przyjmuje wartość {{Code|1}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}. Funkcja liczy numer tego samego rozdziału. Ona wykorzystuje do tego zmienną: {{LinkPatrz|ktore}}, aby policzyć ten ściśle określony rozdział, by zwrócić {{LinkPatrz|wikikod}}. Dla aktualnego wyszukanego rozdziału zgodnego z nazwą artykułu jako strona zbiorcza, jeżeli taki istnieje, wtedy funkcja wyświetla jakiolwiek wynik, np. też z artykułami, jeżeli w nim istnieją takie. Funkcja wtedy inicjuje zmienną {{LinkPatrz|HNumer}} jako wynik z {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}, następnie listuje wynik przy pomocy: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}, uzyskując w ten sposób {{LinkPatrz|wikikod}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInneRozdział-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całego rozdziału, lub ciąg pusty, jeżeli takiego rozdziału nie znaleziono. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} - jak w: {{LinkPatrz|substrona}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|FunRozdzial}}. ===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} ===== Funkcja liczy strony zbiorcze dla całej ksiązki, oprócz {{LinkPatrz|Wersja do czytania}} i {{LinkPatrz|Wersja do druku}}. Jeżeli już to policzono wcześniej pewne zmienne, to ona zakańcza pracę bez ponownego liczenia. W tym przypadku dla aktualnej książki, gdy nie podano zmiennych pudełkowych, funkcja sprawdza zmienną: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej {{Code|KsiążkaSubst}} {{Patrz|KsiążkaSubst-AnalizowanieWoluminu}}, a jeżeli taki artykuł istnieje, to program tej funkcji jest zakańczany. Jeżeli nie mamy do czynienia z aktualną ksiązką tylko z inną, lub podano parametry pudełkowe, to funkcja sprawdza też w {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, zmienną: {{Code|KsiążkaSubstInne}} {{Patrz|KsiążkaSubstInne-AnalizowanieWoluminu}}, i w kolejnych jego podtablicach, tzn. utworzonych jako tablica wielowymiarowa kolejno ze zmiennych: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, czy one są nierówne {{Code|nil}}, a jeżeli tak to funkcja zakańcza pracę. W przeciwnym wypadku funkcja liczy parametry: {{LinkPatrz|naglowki}}, {{LinkPatrz|sekcje}} i {{LinkPatrz|postep-StronaSubstParametr}}, z {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, oraz inicjowana jest funkcja: {{LinkPatrz|HNumer}} przy pomocy innej: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}. Możliwe jest ze rozdział może składać się z żadnych artykułów, czyli funkcja liczy wszystkie rozdziały będące przed danymi artykułami. Ona liczy ich poziom z: {{LinkŚródtytuł|PoziomNapisowyWprowadzeniaTekstu}}, tzn. {{Code|m}} {{Patrz|m-AnalizowanieWoluminu}}, aby funkcja poszła dalej w pętli, to ona nie może być poziom {{LinkPatrz|m-AnalizowanieWoluminu}} równy zero, rozdział równy pustemu łańcuchowi, {{Code|Spis treści}}, {{Code|Bibliografia}}, {{Code|Zobacz też}}, {{Code|Inne}} i {{Code|Licencja}}, co na podstawie tego jest liczony jego numer poziomu z: {{LinkPatrz|HNumer}}, a następnie rozdział z {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, a do niego był wsadzony jako drugi parametr zmienna policzona przez {{LinkPatrz|HNumer}}. Dalej jest wskazywany, które jest powtórzenie danego rozdziału z {{LinkŚródtytuł|Powtarzane}}, co na tej podstawie, licząc od tego pierwszego takiego rozdziału, co ten numer jest wykorzystywany w tablicy liczączej spis treści,strony zbiorczej, czyli: {{LinkPatrz|toc_nowe}}. Co potem po wszystkich rozdziałach, bez artykułów podręcznika, a ostatni rozdział jest ze stronami artykularnymi, przed artykułami, o dowolnej nazwie, wtedy liczymy listę artykułów w danym rozdziale według funkcji: {{LinkŚródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}. Według tej funkcji: cały taki wynik jest otoczony: {{Tag|div|parametry=class="klasa_książki"}}, a w niej są rozdziały, a te rozdziały wraz artykułami są okrążone: {{Tag|div|parametry=class="klasa_naglowka klasa_nagłówka"}}. Dla aktualnej książki wynik jest zapisywany pod zmienną: {{LinkPatrz|KsiążkaSubst-AnalizowanieWoluminu}}, jeśli nie podano parametrów pudełkowych, w przeciwnym wypadku pod: {{LinkPatrz|KsiążkaSubstInne-AnalizowanieWoluminu}}. Funkcja zwraca w ten sposób uzyskany wikikod {{LinkPatrz|wikikod}} dla całej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. Funkcja jest wykorzystywana w definicji funkcji zwracanej: {{LinkŚródtytuł|TakFun}}. ==== Funkcje analizujące strony zbiorcze lub inne ==== ===== {{Śródtytuł|NieFun}}{{Code|NieFun}} ===== Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(parametr) return "";end; end; </syntaxhighlight> Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}}, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów, * {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu. Parametry funkcji zwracanej: * {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}. ===== {{Śródtytuł|TakFun}}{{Code|TakFun}} ===== Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o: {{LinkPatrz|Wersja do czytania}}, lub {{LinkPatrz|Wersja do druku}}. Definicja pogladowa funkcji: <syntaxhighlight lang="lua"> local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. ===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} ===== Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału. Definicja poglądowa funkcji: <syntaxhighlight lang="lua"> local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny) return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); return "tak"; end; end; </syntaxhighlight> Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału. Parametry funkcji: * {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}}, * {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}}, * {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}}, * {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}. Parametry funkcji zwracanej: * {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, * {{Code|substrona}} {{Patrz|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 9e0fd03jlsvppr1ypelr3ax2q28z9od Pruski/Lekcja31 0 63543 543565 543285 2026-05-20T16:53:44Z Aklbmd164 37133 543565 wikitext text/x-wiki '''<big>Lakciōni 31</big>''' == <27> == Tym schematem odmieniają się przymiotniki zakończone na końcówkę ''-is'', szczególnie na końcówkę ''-ingis/-īngis''. * Przykład odmiany przymiotnika ''labīngis'' (życzliwy, dobrotliwy): {| class="wikitable" ! rowspan=2 | ! colspan=3 |<span style="font-weight: normal;">Liczba pojedyncza</span> |- ! <span style="font-weight: normal;">Rodzaj męski</span> !!<span style="font-weight: normal;">Rodzaj żeński</span> !!<span style="font-weight: normal;">Rodzaj nijaki</span> |- | style="padding: 0 1em; text-align: center;" |Mianownik | align="center"|labīng<span style="color:red">is</span> | align="center"|labīng<span style="color:red">i</span> | align="center"|labīng<span style="color:red">i</span> |- | style="padding: 0 1em; text-align: center;" |Dopełniacz | align="center"|labīng<span style="color:red">is</span> | align="center"|labīng<span style="color:red">is</span> | align="center"|labīng<span style="color:red">is</span> |- | style="padding: 0 1em; text-align: center;" |Celownik | align="center"|labīng<span style="color:red">ismu</span> | align="center"|labīng<span style="color:red">ei</span> | align="center"|labīng<span style="color:red">ismu</span> |- | style="padding: 0 1em; text-align: center;" |Biernik | align="center"|labīng<span style="color:red">in</span> | align="center"|labīng<span style="color:red">in</span> | align="center"|labīng<span style="color:red">i</span> |- ! rowspan=2 | ! colspan=3 |<span style="font-weight: normal;">Liczba mnoga</span> |- ! <span style="font-weight: normal;">Rodzaj męski</span> !!<span style="font-weight: normal;">Rodzaj żeński</span> !!<span style="font-weight: normal;">Rodzaj nijaki</span> |- | style="padding: 0 1em; text-align: center;" |Mianownik | align="center"|labīng<span style="color:red">ei</span> | align="center"|labīng<span style="color:red">is</span> | align="center"|labīng<span style="color:red">ei</span> |- | style="padding: 0 1em; text-align: center;" |Dopełniacz | align="center"|labīng<span style="color:red">in</span> | align="center"|labīng<span style="color:red">in</span> | align="center"|labīng<span style="color:red">in</span> |- | style="padding: 0 1em; text-align: center;" |Celownik | align="center"|labīng<span style="color:red">imans</span> | align="center"|labīng<span style="color:red">imans</span> | align="center"|labīng<span style="color:red">imans</span> |- | style="padding: 0 1em; text-align: center;" |Biernik | align="center"|labīng<span style="color:red">ins</span> | align="center"|labīng<span style="color:red">ins</span> | align="center"|labīng<span style="color:red">ins</span> |} * Przykład odmiany przymiotnika ''tappis'' (ciepły): {| class="wikitable" ! rowspan=2 | ! colspan=3 |<span style="font-weight: normal;">Liczba pojedyncza</span> |- ! <span style="font-weight: normal;">Rodzaj męski</span> !!<span style="font-weight: normal;">Rodzaj żeński</span> !!<span style="font-weight: normal;">Rodzaj nijaki</span> |- | style="padding: 0 1em; text-align: center;" |Mianownik | align="center"|tapp<span style="color:red">is</span> | align="center"|tapp<span style="color:red">i</span> | align="center"|tapp<span style="color:red">i</span> |- | style="padding: 0 1em; text-align: center;" |Dopełniacz | align="center"|tapp<span style="color:red">is</span> | align="center"|tapp<span style="color:red">is</span> | align="center"|tapp<span style="color:red">is</span> |- | style="padding: 0 1em; text-align: center;" |Celownik | align="center"|tapp<span style="color:red">ismu</span> | align="center"|ta<span style="color:blue">ppj</span><span style="color:red">ai</span> | align="center"|tapp<span style="color:red">ismu</span> |- | style="padding: 0 1em; text-align: center;" |Biernik | align="center"|tapp<span style="color:red">in</span> | align="center"|tapp<span style="color:red">in</span> | align="center"|tapp<span style="color:red">i</span> |- ! rowspan=2 | ! colspan=3 |<span style="font-weight: normal;">Liczba mnoga</span> |- ! <span style="font-weight: normal;">Rodzaj męski</span> !!<span style="font-weight: normal;">Rodzaj żeński</span> !!<span style="font-weight: normal;">Rodzaj nijaki</span> |- | style="padding: 0 1em; text-align: center;" |Mianownik | align="center"|ta<span style="color:blue">ppj</span><span style="color:red">ai</span> | align="center"|tapp<span style="color:red">is</span> | align="center"|ta<span style="color:blue">ppj</span><span style="color:red">ai</span> |- | style="padding: 0 1em; text-align: center;" |Dopełniacz | align="center"|tapp<span style="color:red">in</span> | align="center"|tapp<span style="color:red">in</span> | align="center"|tapp<span style="color:red">in</span> |- | style="padding: 0 1em; text-align: center;" |Celownik | align="center"|tapp<span style="color:red">imans</span> | align="center"|tapp<span style="color:red">imans</span> | align="center"|tapp<span style="color:red">imans</span> |- | style="padding: 0 1em; text-align: center;" |Biernik | align="center"|tapp<span style="color:red">ins</span> | align="center"|tapp<span style="color:red">ins</span> | align="center"|tapp<span style="color:red">ins</span> |} == <31> == Tym schematem odmieniają się często używane przymiotniki zakończone na końcówkę ''-us'', np. ''lāngus'' (lekki; łatwy), ''brendus'' (ciężki; trudny), ''grāudus'' (smutny), ''grazzus'' (piękny). * Przykład odmiany przymiotnika ''lāngus'' (lekki; łatwy): {| class="wikitable" ! rowspan=2 | ! colspan=3 |<span style="font-weight: normal;">Liczba pojedyncza</span> |- ! <span style="font-weight: normal;">Rodzaj męski</span> !!<span style="font-weight: normal;">Rodzaj żeński</span> !!<span style="font-weight: normal;">Rodzaj nijaki</span> |- | style="padding: 0 1em; text-align: center;" |Mianownik | align="center"|lāng<span style="color:red">us</span> | align="center"|lang<span style="color:red">ī</span> | align="center"|lāng<span style="color:red">u</span> |- | style="padding: 0 1em; text-align: center;" |Dopełniacz | align="center"|lāng<span style="color:red">was</span> | align="center"|lāng<span style="color:red">es</span> | align="center"|lāng<span style="color:red">was</span> |- | style="padding: 0 1em; text-align: center;" |Celownik | align="center"|lāng<span style="color:red">usmu</span> | align="center"|lāng<span style="color:red">ei</span> | align="center"|lāng<span style="color:red">usmu</span> |- | style="padding: 0 1em; text-align: center;" |Biernik | align="center"|lāng<span style="color:red">un</span> | align="center"|lāng<span style="color:red">in</span> | align="center"|lāng<span style="color:red">u</span> |- ! rowspan=2 | ! colspan=3 |<span style="font-weight: normal;">Liczba mnoga</span> |- ! <span style="font-weight: normal;">Rodzaj męski</span> !!<span style="font-weight: normal;">Rodzaj żeński</span> !!<span style="font-weight: normal;">Rodzaj nijaki</span> |- | style="padding: 0 1em; text-align: center;" |Mianownik | align="center"|lang<span style="color:red">wāi</span> | align="center"|lāng<span style="color:red">es</span> | align="center"|lang<span style="color:red">wāi</span> |- | style="padding: 0 1em; text-align: center;" |Dopełniacz | align="center"|lāng<span style="color:red">un</span> | align="center"|lāng<span style="color:red">in</span> | align="center"|lāng<span style="color:red">un</span> |- | style="padding: 0 1em; text-align: center;" |Celownik | align="center"|lang<span style="color:red">ummans</span> | align="center"|lan<span style="color:blue">ģ</span><span style="color:red">āmans</span> | align="center"|lang<span style="color:red">ummans</span> |- | style="padding: 0 1em; text-align: center;" |Biernik | align="center"|lāng<span style="color:red">uns</span> | align="center"|lāng<span style="color:red">ins</span> | align="center"|lāng<span style="color:red">uns</span> |} == Stopniowanie przymiotników i zdania porównawcze == === Stopniowanie przymiotników === Odmiana <25> i <26>: * dīw<span style="color:red">s</span> (szybki) ⇒ dīw<span style="color:red">aisis</span> ⇒ <u>uka</u>dīw<span style="color:red">aisis</span>/<u>uka</u>dīw<span style="color:red">s</span> Odmiana <27>: * labīng<span style="color:red">is</span> ⇒ labīng<span style="color:red">eisis</span> ⇒ <u>uka</u>labīng<span style="color:red">eisis</span>/<u>uka</u>labīng<span style="color:red">is</span> Odmiana <30> i <31>: * lāng<span style="color:red">us</span> ⇒ lāng<span style="color:red">uisis</span> ⇒ <u>uka</u>lāng<span style="color:red">uisis</span>/<u>uka</u>lāng<span style="color:red">us</span> Wyjątki: * debīks ⇒ mūisess ⇒ ukamūisess/ukadebīks * līkuts (mały) ⇒ mazs ⇒ ukamazs/ukalīkuts * labs ⇒ walns ⇒ ukawalns/ukalabs === Zdania porównawcze === * Tū assei '''tīt grazzu kāigi''' twajs tāws – Jesteś tak przystojny jak twój ojciec. * Pīteris ast '''māldaisi nikāi''' Pāuli – Piotr jest młodszy niż Paweł. * Pīteris ast '''māldaisi ezze''' Pāulai – Piotr jest młodszy od Pawła. * '''Ku''' zmūi ast '''wūriskaisi''', '''stu''' zmūi ast '''gaūdraisi''' – Im człowiek starszy, tym mądrzejszy. * Tāns ast '''aīnat aūktaisi''' – On jest coraz wyższy. * Tāns ast '''ukagaūdraisi iz wissans''' – On jest najmądrzejszy ze wszystkich. == Tworzenie przymiotników == === Tworzenie przymiotników od rzeczowników === Przymiotniki od rzeczowników można tworzyć m.in. za pomocą przyrostków:<br> '''-iskas''', np.: * wīr<span style="color:red">s</span> (mężczyzna) ⇒ wīr<span style="color:red">iskas</span> (męski) * Prūs<span style="color:red">a</span> (Prusy) ⇒ prūs<span style="color:red">iskas</span> (pruski) * wakar<span style="color:red">āi</span> (zachód) ⇒ wakkar<span style="color:red">iskas</span> (zachodni) '''-ingis/-īngis''', np.: * wūlak<span style="color:red">s</span> (leń) ⇒ wūlak<span style="color:red">ingis</span> (leniwy) * wert<span style="color:red">ē</span> (wartość) ⇒ wert<span style="color:red">īngis</span> (wartościowy) * nērt<span style="color:red">i</span> (gniew, złość) ⇒ nērt<span style="color:red">ingis</span> (gniewny, zły) '''-ewingis/-ewīngis''', np.: * āumen<span style="color:red">s</span> (świadomość) ⇒ aumen<span style="color:red">ewīngis</span> (świadomy) * alārm<span style="color:red">us</span> (niebezpieczeństwo) ⇒ alārm<span style="color:red">ewingis</span> (niebezpieczny) * war<span style="color:red">ē</span> (moc) ⇒ war<span style="color:red">ewīngis</span> (mocny, mocarny) '''-aīns/-eīns'''. Przymiotniki z tym przyrostkiem są tworzone głównie od nazw materiałów i surowców, np.: * stikl<span style="color:red">ā</span> (szkło) ⇒ stikl<span style="color:red">aīns</span> (szklany) * garr<span style="color:red">in</span> (drzewo) ⇒ gar<span style="color:red">aīns</span> (drewniany) * warr<span style="color:red">in</span> (miedź) ⇒ war<span style="color:red">eīns</span> (miedziany) === Tworzenie przymiotników od czasowników === Przymiotniki od czasowników można tworzyć m.in. za pomocą przyrostków:<br> '''-wingis''', np.: * aušaudī<span style="color:red">twei</span> (zaufać, polegać) ⇒ aušaudī<span style="color:red">wingis</span> (pewny, godny zaufania) * bijā<span style="color:red">tun</span> (bać się) ⇒ bijā<span style="color:red">wingis</span> (bojaźliwy, lękliwy) * zurga<span style="color:red">utwei</span> (troszczyć się) ⇒ zurga<span style="color:red">wingis</span> (troskliwy) '''-amins/-imins'''. Przymiotniki z tym przyrostkiem oznaczają wykonywalność i odpowiadają polskim przymiotnikom z końcówką ''-alny'', np.: * wid<span style="color:red">ātun</span> (widzieć) ⇒ wīd<span style="color:red">amins</span> (widzialny) * īs<span style="color:red">tun</span> (jeść) ⇒ īd<span style="color:red">amins</span> (jadalny) * ārst<span style="color:red">itun</span> (leczyć) ⇒ ārst<span style="color:red">imins</span> (uleczalny) hcxje3uexdn113wv1w28fygbipxijd0 Pruski/Lekcja32 0 63544 543566 543351 2026-05-20T16:55:19Z Aklbmd164 37133 543566 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Bright Pink Orchid.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. nx7hlcihy8bqgtu03fp6tueok817naj 543567 543566 2026-05-20T17:02:10Z Aklbmd164 37133 543567 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Bright Pink Orchid.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Przymiotniki od nazw kolorów == By powiedzieć np. ''białawy'', ''czerwonawy'', ''czarniawy'', do nazwy koloru dodajemy końcówkę ''-awingis/-awīngis'', np.: * gaīl<span style="color:red">s</span> ⇒ gail<span style="color:red">awīngis</span> * wūrm<span style="color:red">is</span> ⇒ wūrmj<span style="color:red">awingis</span> * kīrsn<span style="color:red">as</span> ⇒ kirsn<span style="color:red">awīngis</span> == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. kdxm1hu9sd6rd4uuz3jjz75x92niio4 543568 543567 2026-05-20T17:07:34Z Aklbmd164 37133 /* Przymiotniki od nazw kolorów */ 543568 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Bright Pink Orchid.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Przymiotniki od nazw kolorów == By powiedzieć np. ''białawy'', ''czerwonawy'', do nazwy koloru dodajemy końcówkę ''-awingis/-awīngis'', np.: * gaīl<span style="color:red">s</span> ⇒ gail<span style="color:red">awīngis</span> * wūrm<span style="color:red">is</span> ⇒ wūrmj<span style="color:red">awingis</span> Jeśli chcemy powiedzieć np. ''ubrany na czarno'', do nazwy koloru dodajemy końcówkę ''-rūkins'', np.: * gaīl<span style="color:red">s</span> ⇒ gaila<span style="color:red">rūkins</span> * kīrsn<span style="color:red">as</span> ⇒ kirsna<span style="color:red">rūkins</span> == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. hlho4fut0ff1cbxx6obyat26taurcex 543569 543568 2026-05-20T17:11:31Z Aklbmd164 37133 /* Przymiotniki od nazw kolorów */ 543569 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Bright Pink Orchid.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Przymiotniki od nazw kolorów == By powiedzieć np. ''białawy'', ''czerwonawy'', do nazwy koloru dodajemy końcówkę ''-awingis/-awīngis'', np.: * gaīl<span style="color:red">s</span> ⇒ gail<span style="color:red">awīngis</span> (białawy) * wūrm<span style="color:red">is</span> ⇒ wūrmj<span style="color:red">awingis</span> (czerwonawy) Jeśli chcemy powiedzieć np. ''ubrany na czarno'', do nazwy koloru dodajemy końcówkę ''-rūkins'', np.: * gaīl<span style="color:red">s</span> ⇒ gaila<span style="color:red">rūkins</span> (ubrany na biało) * kīrsn<span style="color:red">as</span> ⇒ kirsna<span style="color:red">rūkins</span> (ubrany na czarno) Słowa takie jak np. ''siwowłosy'', ''złotowłosy'' tworzy się dodając do nazwy koloru końcówkę ''-skebbelingis'', np.: * sīw<span style="color:red">s</span> ⇒ siwa<span style="color:red">skebbelingis</span> (siwowłosy) * ausaīn<span style="color:red">s</span> ⇒ ausaina<span style="color:red">skebbelingis</span> (złotowłosy) == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. cx1i0xbmjdy0r318no2tff5uvcblfu9 543570 543569 2026-05-20T17:20:31Z Aklbmd164 37133 /* Przymiotniki od nazw kolorów */ 543570 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Bright Pink Orchid.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Tworzenie słów pochodzących od nazw kolorów == By powiedzieć np. ''białawy'', ''czerwonawy'', do nazwy koloru dodajemy końcówkę ''-awingis/-awīngis'', np.: * gaīl<span style="color:red">s</span> ⇒ gail<span style="color:red">awīngis</span> (białawy) * wūrm<span style="color:red">is</span> ⇒ wūrmj<span style="color:red">awingis</span> (czerwonawy) Jeśli chcemy powiedzieć np. ''ubrany na czarno'', do nazwy koloru dodajemy końcówkę ''-rūkins'', np.: * gaīl<span style="color:red">s</span> ⇒ gaila<span style="color:red">rūkins</span> (ubrany na biało) * kīrsn<span style="color:red">as</span> ⇒ kirsna<span style="color:red">rūkins</span> (ubrany na czarno) Słowa takie jak np. ''siwowłosy'', ''złotowłosy'' tworzy się dodając do nazwy koloru końcówkę ''-skebbelingis'', np.: * sīw<span style="color:red">s</span> ⇒ siwa<span style="color:red">skebbelingis</span> (siwowłosy) * ausaīn<span style="color:red">s</span> ⇒ ausaina<span style="color:red">skebbelingis</span> (złotowłosy) Aby utworzyć czasowniki takie jak np. ''czernieć'', ''czerwienieć'', do nazwy koloru dodajemy końcówkę ''-autwei'', np.: * wūrm<span style="color:red">is</span> ⇒ wurmj<span style="color:red">autwei</span> (czerwienieć) * kīrsn<span style="color:red">as</span> ⇒ kīrsn<span style="color:red">autwei</span> (czernieć) == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. rrrjmhufqxl1s3wjaq1ewk96mxi0lfs 543571 543570 2026-05-20T17:22:01Z Aklbmd164 37133 /* Tworzenie słów pochodzących od nazw kolorów */ 543571 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Bright Pink Orchid.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Tworzenie słów pochodzących od nazw kolorów == By powiedzieć np. ''białawy'', ''czerwonawy'', do nazwy koloru dodajemy końcówkę ''-awingis/-awīngis'', np.: * gaīl<span style="color:red">s</span> ⇒ gail<span style="color:red">awīngis</span> (białawy) * wūrm<span style="color:red">is</span> ⇒ wūrmj<span style="color:red">awingis</span> (czerwonawy) Jeśli chcemy powiedzieć np. ''ubrany na czarno'', do nazwy koloru dodajemy końcówkę ''-rūkins'', np.: * gaīl<span style="color:red">s</span> ⇒ gaila<span style="color:red">rūkins</span> (ubrany na biało) * kīrsn<span style="color:red">as</span> ⇒ kirsna<span style="color:red">rūkins</span> (ubrany na czarno) Słowa takie jak np. ''siwowłosy'', ''złotowłosy'' tworzy się dodając do nazwy koloru końcówkę ''-skebbelingis'', np.: * sīw<span style="color:red">s</span> ⇒ siwa<span style="color:red">skebbelingis</span> (siwowłosy) * ausaīn<span style="color:red">s</span> ⇒ ausaina<span style="color:red">skebbelingis</span> (złotowłosy) == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. 28n0la4u5okdt3jw2idg1ht8u74auzr 543611 543571 2026-05-20T21:12:51Z Aklbmd164 37133 /* Tworzenie słów pochodzących od nazw kolorów */ 543611 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Bright Pink Orchid.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Tworzenie przymiotników pochodzących od nazw kolorów == By powiedzieć np. ''białawy'', ''czerwonawy'', do nazwy koloru dodajemy końcówkę ''-awingis/-awīngis'', np.: * gaīl<span style="color:red">s</span> ⇒ gail<span style="color:red">awīngis</span> (białawy) * wūrm<span style="color:red">is</span> ⇒ wūrmj<span style="color:red">awingis</span> (czerwonawy) Jeśli chcemy powiedzieć np. ''ubrany na czarno'', do nazwy koloru dodajemy końcówkę ''-rūkins'', np.: * gaīl<span style="color:red">s</span> ⇒ gaila<span style="color:red">rūkins</span> (ubrany na biało) * kīrsn<span style="color:red">as</span> ⇒ kirsna<span style="color:red">rūkins</span> (ubrany na czarno) Słowa takie jak np. ''siwowłosy'', ''złotowłosy'' tworzy się dodając do nazwy koloru końcówkę ''-skebbelingis'', np.: * sīw<span style="color:red">s</span> ⇒ siwa<span style="color:red">skebbelingis</span> (siwowłosy) * ausaīn<span style="color:red">s</span> ⇒ ausaina<span style="color:red">skebbelingis</span> (złotowłosy) == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. 193xc9gq233khvrt41hu4peztv79yci 543613 543611 2026-05-20T21:18:03Z Aklbmd164 37133 /* Bārwis – Kolory */ 543613 wikitext text/x-wiki '''<big>Lakciōni 32</big>''' == Bārwis – Kolory == <gallery> File:Starr 080715-9250 Hibiscus rosa-sinensis.jpg|'''rōzains''' <25> – różowy File:Violet flowers (16739119173).jpg|'''wiōlats''' <25> – fioletowy File:Why is tonight's sky purple?.jpg|'''pūrpurnas''' <25> – purpurowy File:Blue sky with wisps of cloud on a clear summer morning.jpg|'''galīmbs''' <25> – niebieski, błękitny File:Lascar The stars, dark blue sky and the Kilimanjaro! (4463943705).jpg|'''timraigalīmbs''' <25> – ciemnoniebieski, modry File:Green grass texture.jpg|'''zallis''' <27> – zielony File:Starr-090421-6214-Olea europaea subsp cuspidata-fruit and leaves-Pukalani-Maui (24858998711).jpg|'''ōliwiskai zallis''' <27> – oliwkowy File:Lemons for sale.JPG|'''geltaīns''' <25> – żółty File:"Untitled" (Golden), Felix Gonzalez-Torres, SFMoMA 2009.jpg|'''ausaīns''' <25> – złoty File:Sonhar-com-laranja.jpg|'''ōranzins''' <25> – pomarańczowy File:Red rose evening light.jpg|'''wūrmis''' <27> – czerwony File:Wood Material Background Wallpaper Texture Concept (32881036551).jpg|'''brūns''' <25> – brązowy, brunatny File:Greater Sage Grouse Flying Seedskadee NWR (15016213373).jpg|'''kīrsnas''' <26> – czarny File:Cat (30829523273).jpg|'''sīws''' <26> – szary, siwy File:Vulpes lagopus in Iceland (cropped 2).jpg|'''gaīls''' <26> – biały </gallery> == Tworzenie przymiotników pochodzących od nazw kolorów == By powiedzieć np. ''białawy'', ''czerwonawy'', do nazwy koloru dodajemy końcówkę ''-awingis/-awīngis'', np.: * gaīl<span style="color:red">s</span> ⇒ gail<span style="color:red">awīngis</span> (białawy) * wūrm<span style="color:red">is</span> ⇒ wūrmj<span style="color:red">awingis</span> (czerwonawy) Jeśli chcemy powiedzieć np. ''ubrany na czarno'', do nazwy koloru dodajemy końcówkę ''-rūkins'', np.: * gaīl<span style="color:red">s</span> ⇒ gaila<span style="color:red">rūkins</span> (ubrany na biało) * kīrsn<span style="color:red">as</span> ⇒ kirsna<span style="color:red">rūkins</span> (ubrany na czarno) Słowa takie jak np. ''siwowłosy'', ''złotowłosy'' tworzy się dodając do nazwy koloru końcówkę ''-skebbelingis'', np.: * sīw<span style="color:red">s</span> ⇒ siwa<span style="color:red">skebbelingis</span> (siwowłosy) * ausaīn<span style="color:red">s</span> ⇒ ausaina<span style="color:red">skebbelingis</span> (złotowłosy) == Przydatne wyrażenia == * '''Laukā/Timrā bārwi''' – Jasny/Ciemny kolor * '''Kawīda twajā milītasi bārwi ast?''' – Jaki jest twój ulubiony kolor? * '''Galīmba/Zalli/Wiōlata ast majā milītasi bārwi''' – Niebieski/Zielony/Fioletowy to mój ulubiony kolor. * '''Rōzaina/Geltaīna/Zalli bārwi spārtai padīnga mennei''' – Bardzo lubię kolor różowy/żółty/zielony. * '''Gaīls/Wūrmis/Galīmbs wūps''' – Biała/Czerwona/Niebieska farba * '''Kirsnā tinti/tūši''' – Czarny atrament/tusz * '''Geltaīna/Wūrmi/Galīmba ast aīnan iz warīstis bārwins''' – Żółty/Czerwony/Niebieski to jeden z kolorów tęczy. sa8frci91keeyei6xnzaf5crkq0rzhi Szablon:Śródtekst 10 63570 543666 2026-05-21T05:34:08Z Persino 2851 Utworzono nową stronę "<includeonly><!-- -->{{#invoke:StronicowyParser|AnalizujSzablonemStronicowymArtykuł}}<!-- -->{{{tekst|{{{treść|{{{1}}}}}}}}}<!-- -->{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|ŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}}…" 543666 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|AnalizujSzablonemStronicowymArtykuł}}<!-- -->{{{tekst|{{{treść|{{{1}}}}}}}}}<!-- -->{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|ŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 2 = txt!;uchwyt | uchwyt = txt!;2 | tekst = txt!;treść;1 | treść = txt!;tekst;1 | 1 = txt!;tekst;treść | bez kategorii stronicowych = }}<!-- -->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> cy9p21crfzrzfdwryfk42sv1y8v6n11 543694 543666 2026-05-21T06:55:54Z Persino 2851 543694 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | uchwyt = {{{uchwyt|{{{2|}}}}}} | nazwa szablonu = {{{nazwa szablonu|ŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|ŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 2 = txt!;uchwyt | uchwyt = txt!;2 | tekst = txt!;treść;1 | treść = txt!;tekst;1 | 1 = txt!;tekst;treść | bez kategorii stronicowych = }}<!-- -->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> 0anob33fez7x9jemfr4afx1m5tkqbem 543704 543694 2026-05-21T08:07:17Z Persino 2851 543704 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | uchwyt = {{{uchwyt|{{{2|}}}}}} | nazwa szablonu = {{{nazwa szablonu|ŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{2|}}}}}}|ŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 2 = txt!;uchwyt | uchwyt = txt!;2 | tekst = txt!;treść;1 | treść = txt!;tekst;1 | 1 = txt!;tekst;treść | bez kategorii stronicowych = }}<!-- -->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> 23inj03kvauok3s9du5lwm811w1m3ww 543708 543704 2026-05-21T08:22:21Z Persino 2851 543708 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | uchwyt = {{{uchwyt|{{{2|}}}}}} | nazwa szablonu = {{{nazwa szablonu|ŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{2|}}}}}}|ŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 2 = txt!;uchwyt | uchwyt = txt!;2 | tekst = txt!;treść;1 | treść = txt!;tekst;1 | 1 = txt!;tekst;treść | bez kategorii stronicowych = }}<!-- -->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> eqwr9ff4k9fv10gw2wg7ry2jcbnahup 543711 543708 2026-05-21T08:24:42Z Persino 2851 543711 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | uchwyt = {{{uchwyt|{{{2|}}}}}} | nazwa szablonu = {{{nazwa szablonu|ŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{2|}}}}}}|ŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | = problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 2 = txt!;uchwyt | uchwyt = txt!;2 | tekst = txt!;treść;1 | treść = txt!;tekst;1 | 1 = txt!;tekst;treść | bez kategorii stronicowych = }}<!-- -->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> 23inj03kvauok3s9du5lwm811w1m3ww Kategoria:Szablony stronicowe tekstowe 14 63571 543667 2026-05-21T05:37:44Z Persino 2851 Utworzono nową stronę "{{Kategoria|Szablony stronicowe}}" 543667 wikitext text/x-wiki {{Kategoria|Szablony stronicowe}} 8o6ob4vo755g399j9g0zr5y7hr8rr5c Szablon:Śródtekst/opis 10 63572 543668 2026-05-21T05:38:00Z Persino 2851 Utworzono nową stronę "{{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly>" 543668 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> rx7nhu6gplxd7xei2t4gwb45ctk0ho7 543669 543668 2026-05-21T05:38:55Z Persino 2851 543669 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> fm30zvss7u1ds2fnq7z0d7kpjrujkuf 543697 543669 2026-05-21T07:41:39Z Persino 2851 543697 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|ŚródTekst}} służy do ustawienia pewnemu tekstowi pewny uchwyt, który można pobrać przy pomocy: {{s|LinkŚródTekst}}. == Opis parametrów == ; Parametry * {{Code|tekst}}, {{Code|treść}} lub {{Code|1}} - tekst, któremu przyporządkujemy pewien uchwyt, * {{Code|uchwyt}} lub {{Code|2}} - uchwyt tekstu. == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:LinkŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:LinkŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> gol7uyqkrv9j7utn1yzfpr15d3sp6t9 543701 543697 2026-05-21T08:02:18Z Persino 2851 /* Przykład */ 543701 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|ŚródTekst}} służy do ustawienia pewnemu tekstowi pewny uchwyt, który można pobrać przy pomocy: {{s|LinkŚródTekst}}. == Opis parametrów == ; Parametry * {{Code|tekst}}, {{Code|treść}} lub {{Code|1}} - tekst, któremu przyporządkujemy pewien uchwyt, * {{Code|uchwyt}} lub {{Code|2}} - uchwyt tekstu. == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:LinkŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:LinkŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> 43ej2xokvd4o416ew3m0k5eem6glldn 543706 543701 2026-05-21T08:14:28Z Persino 2851 /* Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) */ 543706 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|ŚródTekst}} służy do ustawienia pewnemu tekstowi pewny uchwyt, który można pobrać przy pomocy: {{s|LinkŚródTekst}}. == Opis parametrów == ; Parametry * {{Code|tekst}}, {{Code|treść}} lub {{Code|1}} - tekst, któremu przyporządkujemy pewien uchwyt, * {{Code|uchwyt}} lub {{Code|2}} - uchwyt tekstu. == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:LinkŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:LinkŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "tekst": { "aliases": [ "treść,", "1" ], "description": "Tekst, którego zawartość jest rozwinięta, będzie pobierany przez szablon {{LinkŚródTekst}}.", "required": true }, "uchwyt": { "aliases": [ "2" ], "description": "Uchwyt nagłówka rozdziału.", "type": "string", "suggested": true } }, "description": "Szablon do odwoływania się do nagłówka rozdziału za pomocą linków poprzez jego uchwyt.", "paramOrder": [ "uchwyt", "tekst" ] } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> bipg4qdq0iup2bmoaqr7f9p7cci5q9b 543707 543706 2026-05-21T08:15:17Z Persino 2851 /* Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) */ 543707 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|ŚródTekst}} służy do ustawienia pewnemu tekstowi pewny uchwyt, który można pobrać przy pomocy: {{s|LinkŚródTekst}}. == Opis parametrów == ; Parametry * {{Code|tekst}}, {{Code|treść}} lub {{Code|1}} - tekst, któremu przyporządkujemy pewien uchwyt, * {{Code|uchwyt}} lub {{Code|2}} - uchwyt tekstu. == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:LinkŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:LinkŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "tekst": { "aliases": [ "treść,", "1" ], "description": "Tekst, którego zawartość jest rozwinięta, będzie pobierany przez szablon {{LinkŚródTekst}}.", "required": true }, "uchwyt": { "aliases": [ "2" ], "description": "Uchwyt nagłówka rozdziału.", "type": "string", "suggested": true } }, "description": "Szablon do odwoływania się do nagłówka rozdziału za pomocą linków poprzez jego uchwyt.", "paramOrder": [ "tekst", "uchwyt" ] } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> 36jtqoxumqddw3sb7jvj1kllhmn9xut 543710 543707 2026-05-21T08:23:33Z Persino 2851 /* Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) */ 543710 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|ŚródTekst}} służy do ustawienia pewnemu tekstowi pewny uchwyt, który można pobrać przy pomocy: {{s|LinkŚródTekst}}. == Opis parametrów == ; Parametry * {{Code|tekst}}, {{Code|treść}} lub {{Code|1}} - tekst, któremu przyporządkujemy pewien uchwyt, * {{Code|uchwyt}} lub {{Code|2}} - uchwyt tekstu. == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:LinkŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:LinkŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "tekst": { "aliases": [ "treść,", "1" ], "description": "Tekst, którego zawartość jest rozwinięta, będzie pobierany przez szablon {{LinkŚródTekst}}.", "required": true }, "uchwyt": { "aliases": [ "2" ], "description": "Uchwyt nagłówka rozdziału.", "type": "string", "suggested": true }, "bez kategorii stronicowych": { "description": "Wylącza generowanie kategorii Stronicowego Parsera." }, "bez kategorii": { "description": "Gdy wartość niepusta, to wyłącza generowanie dodatkowych kategorii.", "type": "string" } }, "description": "Szablon do odwoływania się do nagłówka rozdziału za pomocą linków poprzez jego uchwyt.", "paramOrder": [ "tekst", "uchwyt", "bez kategorii", "bez kategorii stronicowych" ] } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> qkz28pqewlrn0raz9g7ovwddto1ls5j Szablon:PobierzŚródtekst 10 63573 543672 2026-05-21T05:47:41Z Persino 2851 Utworzono nową stronę "<includeonly><!-- -->{{#invoke:StronicowyParser|PobierzŚródTekst | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl =…" 543672 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|PobierzŚródTekst | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|PobierzŚródTekst}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja|zawartość=To jest szablon pomocniczy szablonów:{{s|LinkŚródtytuł}} i {{s|LinkŚródtytułTutaj}}.}}{{Kategoria|Szablony - silniki}}</noinclude> i9dutjj3zwqjaigc618gtoxg2es4sqk 543673 543672 2026-05-21T05:48:04Z Persino 2851 543673 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|PobierzŚródTekst | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|PobierzŚródTekst}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> 3n7gd14h2vhbt36pg0lfnha0gyurbtv 543676 543673 2026-05-21T05:56:23Z Persino 2851 543676 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerPobierzŚródTekst | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|PobierzŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> r7vj2g04lx8vtqt57mhzrma0qmnef2a 543678 543676 2026-05-21T06:05:20Z Persino 2851 543678 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerPobierzŚródTekstu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|PobierzŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> cddcn798655n9y3lqk4k5l35uiy81f4 543679 543678 2026-05-21T06:08:35Z Persino 2851 543679 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|PobierzŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> 3rjapuwdpntaj55nzh8meeyismcqlnu 543684 543679 2026-05-21T06:15:17Z Persino 2851 Persino przeniósł(-osła) stronę [[Szablon:PobierzŚródTekst]] do [[Szablon:LinkŚródTekst]], bez pozostawienia przekierowania pod starym tytułem 543679 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|PobierzŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> 3rjapuwdpntaj55nzh8meeyismcqlnu 543686 543684 2026-05-21T06:15:40Z Persino 2851 543686 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|PobierzŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|LinkŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> kwn4p30af727e7z0784zhemnpxvcysi 543693 543686 2026-05-21T06:54:43Z Persino 2851 543693 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|LinkŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii|}}}{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|LinkŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> ft23lvqjvo5ydx28izezcmwoagb435u 543712 543693 2026-05-21T08:25:03Z Persino 2851 543712 wikitext text/x-wiki <includeonly><!-- -->{{#invoke:StronicowyParser|NumerŚródTekstu | {{#ifeq:{{{nazwa książki|{{{3|}}}}}}|{{{nazwa książki|{{{3}}}}}}|nazwa książki|void1}} = {{{nazwa książki|{{{3|}}}}}} | {{#ifeq:{{{nazwa artykułu|{{{2|}}}}}}|{{{nazwa artykułu|{{{2}}}}}}|nazwa artykułu|void2}} = {{{nazwa artykułu|{{{2|}}}}}} | uchwyt = {{{uchwyt|{{{1|}}}}}} | nazwa szablonu = {{{nazwa szablonu|LinkŚródTekst}}} | klasa = | styl = }}<!-- -->{{#if:{{{bez kategorii stronicowych|}}}||{{#invoke:StronicowyParser|WstawKategorie|{{{uchwyt|{{{1|}}}}}}|LinkŚródTekst}}}}<!-- -->{{#if:{{{bez dodatkowych sprawdzeń|}}}||<!-- -->{{#invoke:Sprawdź|Parametry | =problemy-w-szablonie-%s {{((}}Kategoria{{!}}Szablon %s %s do sprawdzenia{{))}} | 1 = txt!;uchwyt | uchwyt = txt!;1 | 2 = ;nazwa artykułu | nazwa artykułu = ;2 | 3 = ;nazwa książki | nazwa książki = ;3 | bez kategorii stronicowych = }}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> jrboaal3ekdz5xrqm634y38oz1unpbb Szablon:PobierzŚródtekst/opis 10 63574 543674 2026-05-21T05:49:12Z Persino 2851 Utworzono nową stronę "{{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <…" 543674 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> fm30zvss7u1ds2fnq7z0d7kpjrujkuf 543685 543674 2026-05-21T06:15:17Z Persino 2851 Persino przeniósł(-osła) stronę [[Szablon:PobierzŚródTekst/opis]] do [[Szablon:LinkŚródTekst/opis]], bez pozostawienia przekierowania pod starym tytułem 543674 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> fm30zvss7u1ds2fnq7z0d7kpjrujkuf 543698 543685 2026-05-21T07:42:32Z Persino 2851 /* Przykład */ 543698 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:ŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:ŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> 08oohiqox7va91jne91s8wbqnppnnk0 543700 543698 2026-05-21T07:53:48Z Persino 2851 /* Użycie */ 543700 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|LinkŚródTekst}} służy do pobierania danych ustawionej przez szablon {{s|ŚródTekst}}. == Opis parametrów == == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:ŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:ŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> cadk1fv5ckikqpfrapivlofwvgmbnmk 543702 543700 2026-05-21T08:02:56Z Persino 2851 /* Przykład */ 543702 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|LinkŚródTekst}} służy do pobierania danych ustawionej przez szablon {{s|ŚródTekst}}. == Opis parametrów == == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:ŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:ŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> apnleymnd1r8dwd8lp2oolj9jlbwrw8 543703 543702 2026-05-21T08:05:38Z Persino 2851 /* Opis parametrów */ 543703 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|LinkŚródTekst}} służy do pobierania danych ustawionej przez szablon {{s|ŚródTekst}}. == Opis parametrów == Będziemy tutaj wypisywali zmienne szablonu {{s|LinkŚródTekst}}. ---- ; Zmienne w wywołaniu podstawowym tego szablonu * {{Code|1}} lub {{Code|uchwyt}} = uchwyt, * {{Code|2}} lub {{Code|nazwa artykułu}} = nazwa modułu, bez adresu książki, (opcjonalny). ; Dodatkowe opcje * {{Code|3}} lub {{Code|nazwa książki}} = pełna nazwa książki (opcjonalny). ---- ; Zmienne w wywołaniu pełnym tego szablonu * {{Code|1}} lub {{Code|uchwyt}} = uchwyt, * {{Code|2}} lub {{Code|nazwa artykułu}} = nazwa modułu (opcjonalny), * {{Code|3}} lub {{Code|nazwa książki}} = pełna nazwa książki (opcjonalny). ---- Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów. ---- ; Uwagi Szablon {{s|LinkŚródTekst}} ma jeszcze jeden parametr: {{Parametr|bez kategorii stronicowych}} wartość niepusta, tzn. wyłączone, czyli np.: {{Code|tak}}, i włączone, gdy wartość pusta, generowanie dodatkowych kategorii błędu, jeżeli one występują, (opcjonalny domyślnie ustawiony na wartość pustą). == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:ŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:ŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> 2idal1jwy0fl9vbyj1p145zc21u942c 543705 543703 2026-05-21T08:10:21Z Persino 2851 /* Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) */ 543705 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|LinkŚródTekst}} służy do pobierania danych ustawionej przez szablon {{s|ŚródTekst}}. == Opis parametrów == Będziemy tutaj wypisywali zmienne szablonu {{s|LinkŚródTekst}}. ---- ; Zmienne w wywołaniu podstawowym tego szablonu * {{Code|1}} lub {{Code|uchwyt}} = uchwyt, * {{Code|2}} lub {{Code|nazwa artykułu}} = nazwa modułu, bez adresu książki, (opcjonalny). ; Dodatkowe opcje * {{Code|3}} lub {{Code|nazwa książki}} = pełna nazwa książki (opcjonalny). ---- ; Zmienne w wywołaniu pełnym tego szablonu * {{Code|1}} lub {{Code|uchwyt}} = uchwyt, * {{Code|2}} lub {{Code|nazwa artykułu}} = nazwa modułu (opcjonalny), * {{Code|3}} lub {{Code|nazwa książki}} = pełna nazwa książki (opcjonalny). ---- Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów. ---- ; Uwagi Szablon {{s|LinkŚródTekst}} ma jeszcze jeden parametr: {{Parametr|bez kategorii stronicowych}} wartość niepusta, tzn. wyłączone, czyli np.: {{Code|tak}}, i włączone, gdy wartość pusta, generowanie dodatkowych kategorii błędu, jeżeli one występują, (opcjonalny domyślnie ustawiony na wartość pustą). == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:ŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:ŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "uchwyt": { "aliases": [ "1" ], "description": "Uchwyt obiektu.", "type": "string", "required": true }, "nazwa artykułu": { "aliases": [ "2" ], "description": "Nazwa artykułu.", "type": "wiki-page-name", "suggested": true }, "nazwa książki": { "aliases": [ "3" ], "description": "Nazwa książki", "type": "wiki-page-name", "suggested": true }, "bez kategorii": { "description": "Gdy wartość niepusta, to wyłącza generowanie dodatkowych kategorii.", "type": "string" } }, "paramOrder": [ "uchwyt", "nazwa artykułu", "nazwa książki", "bez kategorii" ], "description": "Szablon tworzy linki do różnego rodzaju obiektów na stronie podręczników." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> f0zya50cm68km1yvai56mce5jkq6h0p 543709 543705 2026-05-21T08:23:28Z Persino 2851 /* Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) */ 543709 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|StronicowyParser}} {{Wysokie ryzyko|częste użycie}} {{Wysokie ryzyko|skomplikowany}} {{Szablony stronicowe}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon {{s|LinkŚródTekst}} służy do pobierania danych ustawionej przez szablon {{s|ŚródTekst}}. == Opis parametrów == Będziemy tutaj wypisywali zmienne szablonu {{s|LinkŚródTekst}}. ---- ; Zmienne w wywołaniu podstawowym tego szablonu * {{Code|1}} lub {{Code|uchwyt}} = uchwyt, * {{Code|2}} lub {{Code|nazwa artykułu}} = nazwa modułu, bez adresu książki, (opcjonalny). ; Dodatkowe opcje * {{Code|3}} lub {{Code|nazwa książki}} = pełna nazwa książki (opcjonalny). ---- ; Zmienne w wywołaniu pełnym tego szablonu * {{Code|1}} lub {{Code|uchwyt}} = uchwyt, * {{Code|2}} lub {{Code|nazwa artykułu}} = nazwa modułu (opcjonalny), * {{Code|3}} lub {{Code|nazwa książki}} = pełna nazwa książki (opcjonalny). ---- Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów. ---- ; Uwagi Szablon {{s|LinkŚródTekst}} ma jeszcze jeden parametr: {{Parametr|bez kategorii stronicowych}} wartość niepusta, tzn. wyłączone, czyli np.: {{Code|tak}}, i włączone, gdy wartość pusta, generowanie dodatkowych kategorii błędu, jeżeli one występują, (opcjonalny domyślnie ustawiony na wartość pustą). == Przykład == ; Przykład pierwszy {{s|ŚródTekst|uchwyt{{=}}uchwyt|tekst{{=}}{{s|Lorem ipsum}}}} → {{ŚródTekst|uchwyt=uchwyt|tekst={{Lorem ipsum}}}} ---- {{s|LinkŚródTekst|uchwyt{{=}}uchwyt}} → {{LinkŚródTekst|uchwyt=uchwyt}} ---- ---- ; Przykład drugi {{s|LinkŚródTekst|uchwyt{{=}}uchwyt||Szablon:ŚródTekst/opis}} → {{LinkŚródTekst|uchwyt||Szablon:ŚródTekst/opis}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "uchwyt": { "aliases": [ "1" ], "description": "Uchwyt obiektu.", "type": "string", "required": true }, "nazwa artykułu": { "aliases": [ "2" ], "description": "Nazwa artykułu.", "type": "wiki-page-name", "suggested": true }, "nazwa książki": { "aliases": [ "3" ], "description": "Nazwa książki", "type": "wiki-page-name", "suggested": true }, "bez kategorii": { "description": "Gdy wartość niepusta, to wyłącza generowanie dodatkowych kategorii.", "type": "string" }, "bez kategorii stronicowych": { "description": "Wylącza generowanie kategorii Stronicowego Parsera.", "type": "string" } }, "paramOrder": [ "uchwyt", "nazwa artykułu", "nazwa książki", "bez kategorii", "bez kategorii stronicowych" ], "description": "Szablon tworzy linki do różnego rodzaju obiektów na stronie podręczników." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony stronicowe tekstowe}} </includeonly> 22i6vyt088aslv8fhhsfi1kkwmmm3qe