Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.39.0-wmf.23 first-letter Media Specjalna Dyskusja Wikipedysta Dyskusja wikipedysty Wikibooks Dyskusja Wikibooks Plik Dyskusja pliku MediaWiki Dyskusja MediaWiki Szablon Dyskusja szablonu Pomoc Dyskusja pomocy Kategoria Dyskusja kategorii Wikijunior Dyskusja Wikijuniora TimedText TimedText talk Moduł Dyskusja modułu Gadżet Dyskusja gadżetu Definicja gadżetu Dyskusja definicji gadżetu C 0 82 437680 428041 2022-08-13T17:18:26Z Adam majewski 1978 /* Linki zewnętrzne */ https://github.com/imxxw/Mastering-Algorithms-with-C wikitext text/x-wiki {{Infobox|Jeśli trafiłeś tutaj przez wpisanie „C#” w wyszukiwarkę, wypróbuj [[C Sharp]].}} {{Wersja do druku|C/Wersja do druku}} {{Wersja PDF|C|Aktualizowana 14 listopada 2010, 1,45 MB, 216 stron}} Witaj w kursie programowania w [[w:C (język programowania)|języku C]] na Wikibooks! Niniejszy podręcznik ma za zadanie zademonstrować i wytłumaczyć składnię samego języka, jego możliwości oraz pokazać jego przykładowe zastosowania. Znajdziesz tu też opis biblioteki standardowej (libc). Liczymy również na Twoją pomoc. Jako źródło polecamy [[:en:C_Programming|angielską]] wersję podręcznika o C, ponieważ możesz bez przeszkód tłumaczyć jego fragmenty. Jeśli chcesz dowiedzieć się więcej o tym, jak pomóc, zapraszamy do rozdziału [[C/O podręczniku|O podręczniku]]. __NOTOC__ {{status|-100%|Programowanie}} <small>< [[C/Okładka|Okładka]]</small> ==Spis treści== === Wstęp === :[[C/O podręczniku|O podręczniku]] <br /><small>Podstawowe informacje, o autorach, jak pomóc</small> :[[C/Dlaczego uczyć się języka C?|Dlaczego uczyć się języka C?]]<br /><small>Dlaczego uczyć się języka C?</small> :[[C/O języku C|O języku C]] <br /><small>Historia i zastosowanie języka C</small> :[[C/Czego potrzebujesz|Czego potrzebujesz]] <br /><small>Informacje o niezbędnych narzędziach</small> ::[[C/Zintegrowane środowisko programistyczne|Zintegrowane środowisko programistyczne]] :[[C/Używanie kompilatora|Używanie kompilatora]] <br /><small>Korzystanie z podstawowych narzędzi</small> === C dla początkujących === :[[C/Pierwszy program|Pierwszy program]] <br /><small>Wstęp do składni języka</small> :[[C/Podstawy|Podstawowe wiadomości]] <br /><small>Czym jest, jak działa oraz co może C</small> :[[C/Zmienne|Zmienne w C]] <br /><small>Użycie, typy, modyfikatory, stałe, konwersje </small> :[[C/Operatory|Operatory]] <br /><small>Matematyka w języku C, operatory matematyczne</small> :[[C/Instrukcje sterujące|Instrukcje sterujące]] <br /><small>if, switch, for, while</small> :[[C/Funkcje|Funkcje]]<br /><small>Pojęcie funkcji i procedury</small> :[[C/Podstawowe procedury wejścia i wyjścia|Podstawowe procedury wejścia i wyjścia]] <br /><small>Czym jest wejście-wyjście, korzystanie z podstawowych funkcji</small> ::[[C/Czytanie i pisanie do plików|Czytanie i pisanie do plików]] <br /><small>Obsługa plików w praktyce</small> :[[C/Ćwiczenia dla początkujących|Ćwiczenia]] === W głąb języka C === :[[C/Tablice|Tablice]] <br /><small>Pojęcie tablicy, operacje na tablicy</small> :[[C/Wskaźniki|Wskaźniki]] <br /><small>Wskaźniki, zarządzenie pamięcią </small> :[[C/Napisy|Napisy]] <br /><small>Przechowywanie, operacje, konwersje</small> :[[C/Typy złożone|Typy złożone]] <br /><small>Deklarowanie własnych typów, typy wyliczeniowe, unie i struktury </small> :[[C/Zaawansowane operacje matematyczne|Zaawansowane operacje matematyczne]] <br /><small>Używanie funkcji matematycznych, operacje na liczbach zespolonych </small> :[[C/Powszechne praktyki|Powszechne praktyki]] <br /><small>Kilka dobrych zwyczajów programisty C</small> :[[C/Program|Program ]] <br /><small>Struktura prostych i złożonych programów, budowanie programu</small> :: [[C/Biblioteki|Biblioteki]] :::[[C/Biblioteka standardowa|Biblioteka standardowa]] <br /><small>Jak korzystać z plików biblioteki standardowej </small> :::[[C/Biblioteki własne|Tworzenie własnych bibliotek]] <br /><small>Pliki nagłówkowe</small> ::[[C/Preprocesor|Preprocesor]]<br /><small>Makrodefinicje</small> :::[[C/Preprocesor/Przykład działania]]<br /><small>Preprocesor - przykład działania</small> ::[[C/Więcej o kompilowaniu|Więcej o kompilowaniu]] <br /><small>Jak działa kompilator, używanie plików makefile </small> ::[[C/Przenośność programów|Przenośność programów]]<br /><small>Kilka ważnych informacji nt przenośności programów napisanych w języku C</small> ::[[C/Łączenie z innymi językami|Łączenie z innymi językami]]<br /><small>Łączenie języka C z innymi językami programowania</small> :[[C/Ćwiczenia dla zaawansowanych|Ćwiczenia]] === Materiał rozszerzający === : [[C/Tablice - więcej|Więcej o tablicach]] : [[C/Wskaźniki - więcej|Więcej o wskaźnikach]] : [[C/Napisy - własna implementacja|Napisy - własna implementacja]] : [[C/Błędy|Błędy, wyjątki i bezpieczne programowanie]] === Dodatek A - Biblioteka standardowa === :[[C/Biblioteka standardowa/Indeks alfabetyczny|Indeks alfabetyczny]] :[[C/Biblioteka standardowa/Indeks tematyczny|Indeks tematyczny]] === Dodatek B === :[[C/Składnia|Składnia języka C]]<br /><small>Lista słów kluczowych i operatorów </small> :[[C/Przykłady z komentarzem|Przykłady z komentarzem]] === Dodatek C === :[[C/Indeks|Indeks]] ==Zobacz też== {{wikipedia|C (język programowania)}} * [[C++]] (niniejszy kurs C jest jednocześnie wstępem do kursu C++) * [[BasicC]] Nakładka na C umożliwiająca stosowanie składni zbliżonej do języka Basic z obsługą biblioteki SDL - grafika, dźwięk, obsługa urządzeń. * Podręczniki innych języków: [[D]], [[Java]], [[Fortran]], [[Asembler|Asembler]] * [[Programowanie_w_systemie_UNIX|Programowanie w systemie UNIX]] * Artykuły z kodem w C: ** [[w:en:Category:Articles with example C code| w wikipedii]] ** [[:commons:Category:Images_with_C_source_code|commons]] * [[C/Błędy#Standardy_kodowania|style i standardy kodowania w C]] ( ang. C Style and Coding Standards ) ==Linki zewnętrzne== * [http://en.cppreference.com/w/c c reference] * [http://www.lysator.liu.se/c/ A comprehensive C reference guide] * [http://opcode.eu.org/c_cpp/ Programowanie w C/C++ w systemie Linux] * [http://mikrokontrolery.blogspot.com/2011/02/kurs-jezyka-c-spis-tresci.html Kurs C z kompilatorem online CManiac (GCC)] * [http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list Lista podręczników do C] * [https://ccodearchive.net/index.html Comprehensive C Archive Network] * [https://stackoverflow.com/tags/c/info c info from stackoverflow] * [https://www.wikiod.com/w/C_Tutorial C tutorial ( Archived SO doc): Getting started with C Language] * [https://stackoverflow.com/questions/tagged/c Pytania o C z SO] * [https://codereview.stackexchange.com/questions/tagged/c Pytania o c z Code review] * [https://open.umn.edu/opentextbooks/textbooks/how-to-think-like-a-computer-scientist-c-version-1999 How to Think Like a Computer Scientist: C Version by Allen B. Downey and Thomas Scheffler, Pub Date: 1999] * [https://riptutorial.com/c/topic/213/getting-started-with-c-language RIP tutorial ( Archived SO doc): Getting started with C Language] * [https://www.semanticscholar.org/paper/Expert-C-programming-deep-C-secrets-Linden/dbb44ba280664abc551143ed0d97899e3e5f4d37 Expert C programming. Deep C secrets by P Linden] * [https://notabug.org/koz.ross/awesome-c awesome-c by Koz Ross ] * [https://github.com/inputsh/awesome-c awesome-c by Aleksandar Todorović] * [https://gustedt.wordpress.com/2019/09/18/modern-c-second-edition/ Modern C by Jens Gustedt] * [https://www.oreilly.com/library/view/mastering-algorithms-with/1565924533/ Mastering Algorithms with C by Kyle Loudon Released August 1999] and [https://github.com/imxxw/Mastering-Algorithms-with-C c code] ===algorytmy=== * [https://fragglet.github.io/c-algorithms/ Simon Howard] o881s7umwqdekb0wpaxnsp2ki4lsv28 437681 437680 2022-08-13T17:19:34Z Adam majewski 1978 /* Linki zewnętrzne */ mv wikitext text/x-wiki {{Infobox|Jeśli trafiłeś tutaj przez wpisanie „C#” w wyszukiwarkę, wypróbuj [[C Sharp]].}} {{Wersja do druku|C/Wersja do druku}} {{Wersja PDF|C|Aktualizowana 14 listopada 2010, 1,45 MB, 216 stron}} Witaj w kursie programowania w [[w:C (język programowania)|języku C]] na Wikibooks! Niniejszy podręcznik ma za zadanie zademonstrować i wytłumaczyć składnię samego języka, jego możliwości oraz pokazać jego przykładowe zastosowania. Znajdziesz tu też opis biblioteki standardowej (libc). Liczymy również na Twoją pomoc. Jako źródło polecamy [[:en:C_Programming|angielską]] wersję podręcznika o C, ponieważ możesz bez przeszkód tłumaczyć jego fragmenty. Jeśli chcesz dowiedzieć się więcej o tym, jak pomóc, zapraszamy do rozdziału [[C/O podręczniku|O podręczniku]]. __NOTOC__ {{status|-100%|Programowanie}} <small>< [[C/Okładka|Okładka]]</small> ==Spis treści== === Wstęp === :[[C/O podręczniku|O podręczniku]] <br /><small>Podstawowe informacje, o autorach, jak pomóc</small> :[[C/Dlaczego uczyć się języka C?|Dlaczego uczyć się języka C?]]<br /><small>Dlaczego uczyć się języka C?</small> :[[C/O języku C|O języku C]] <br /><small>Historia i zastosowanie języka C</small> :[[C/Czego potrzebujesz|Czego potrzebujesz]] <br /><small>Informacje o niezbędnych narzędziach</small> ::[[C/Zintegrowane środowisko programistyczne|Zintegrowane środowisko programistyczne]] :[[C/Używanie kompilatora|Używanie kompilatora]] <br /><small>Korzystanie z podstawowych narzędzi</small> === C dla początkujących === :[[C/Pierwszy program|Pierwszy program]] <br /><small>Wstęp do składni języka</small> :[[C/Podstawy|Podstawowe wiadomości]] <br /><small>Czym jest, jak działa oraz co może C</small> :[[C/Zmienne|Zmienne w C]] <br /><small>Użycie, typy, modyfikatory, stałe, konwersje </small> :[[C/Operatory|Operatory]] <br /><small>Matematyka w języku C, operatory matematyczne</small> :[[C/Instrukcje sterujące|Instrukcje sterujące]] <br /><small>if, switch, for, while</small> :[[C/Funkcje|Funkcje]]<br /><small>Pojęcie funkcji i procedury</small> :[[C/Podstawowe procedury wejścia i wyjścia|Podstawowe procedury wejścia i wyjścia]] <br /><small>Czym jest wejście-wyjście, korzystanie z podstawowych funkcji</small> ::[[C/Czytanie i pisanie do plików|Czytanie i pisanie do plików]] <br /><small>Obsługa plików w praktyce</small> :[[C/Ćwiczenia dla początkujących|Ćwiczenia]] === W głąb języka C === :[[C/Tablice|Tablice]] <br /><small>Pojęcie tablicy, operacje na tablicy</small> :[[C/Wskaźniki|Wskaźniki]] <br /><small>Wskaźniki, zarządzenie pamięcią </small> :[[C/Napisy|Napisy]] <br /><small>Przechowywanie, operacje, konwersje</small> :[[C/Typy złożone|Typy złożone]] <br /><small>Deklarowanie własnych typów, typy wyliczeniowe, unie i struktury </small> :[[C/Zaawansowane operacje matematyczne|Zaawansowane operacje matematyczne]] <br /><small>Używanie funkcji matematycznych, operacje na liczbach zespolonych </small> :[[C/Powszechne praktyki|Powszechne praktyki]] <br /><small>Kilka dobrych zwyczajów programisty C</small> :[[C/Program|Program ]] <br /><small>Struktura prostych i złożonych programów, budowanie programu</small> :: [[C/Biblioteki|Biblioteki]] :::[[C/Biblioteka standardowa|Biblioteka standardowa]] <br /><small>Jak korzystać z plików biblioteki standardowej </small> :::[[C/Biblioteki własne|Tworzenie własnych bibliotek]] <br /><small>Pliki nagłówkowe</small> ::[[C/Preprocesor|Preprocesor]]<br /><small>Makrodefinicje</small> :::[[C/Preprocesor/Przykład działania]]<br /><small>Preprocesor - przykład działania</small> ::[[C/Więcej o kompilowaniu|Więcej o kompilowaniu]] <br /><small>Jak działa kompilator, używanie plików makefile </small> ::[[C/Przenośność programów|Przenośność programów]]<br /><small>Kilka ważnych informacji nt przenośności programów napisanych w języku C</small> ::[[C/Łączenie z innymi językami|Łączenie z innymi językami]]<br /><small>Łączenie języka C z innymi językami programowania</small> :[[C/Ćwiczenia dla zaawansowanych|Ćwiczenia]] === Materiał rozszerzający === : [[C/Tablice - więcej|Więcej o tablicach]] : [[C/Wskaźniki - więcej|Więcej o wskaźnikach]] : [[C/Napisy - własna implementacja|Napisy - własna implementacja]] : [[C/Błędy|Błędy, wyjątki i bezpieczne programowanie]] === Dodatek A - Biblioteka standardowa === :[[C/Biblioteka standardowa/Indeks alfabetyczny|Indeks alfabetyczny]] :[[C/Biblioteka standardowa/Indeks tematyczny|Indeks tematyczny]] === Dodatek B === :[[C/Składnia|Składnia języka C]]<br /><small>Lista słów kluczowych i operatorów </small> :[[C/Przykłady z komentarzem|Przykłady z komentarzem]] === Dodatek C === :[[C/Indeks|Indeks]] ==Zobacz też== {{wikipedia|C (język programowania)}} * [[C++]] (niniejszy kurs C jest jednocześnie wstępem do kursu C++) * [[BasicC]] Nakładka na C umożliwiająca stosowanie składni zbliżonej do języka Basic z obsługą biblioteki SDL - grafika, dźwięk, obsługa urządzeń. * Podręczniki innych języków: [[D]], [[Java]], [[Fortran]], [[Asembler|Asembler]] * [[Programowanie_w_systemie_UNIX|Programowanie w systemie UNIX]] * Artykuły z kodem w C: ** [[w:en:Category:Articles with example C code| w wikipedii]] ** [[:commons:Category:Images_with_C_source_code|commons]] * [[C/Błędy#Standardy_kodowania|style i standardy kodowania w C]] ( ang. C Style and Coding Standards ) ==Linki zewnętrzne== * [http://en.cppreference.com/w/c c reference] * [http://www.lysator.liu.se/c/ A comprehensive C reference guide] * [http://opcode.eu.org/c_cpp/ Programowanie w C/C++ w systemie Linux] * [http://mikrokontrolery.blogspot.com/2011/02/kurs-jezyka-c-spis-tresci.html Kurs C z kompilatorem online CManiac (GCC)] * [http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list Lista podręczników do C] * [https://ccodearchive.net/index.html Comprehensive C Archive Network] * [https://stackoverflow.com/tags/c/info c info from stackoverflow] * [https://www.wikiod.com/w/C_Tutorial C tutorial ( Archived SO doc): Getting started with C Language] * [https://stackoverflow.com/questions/tagged/c Pytania o C z SO] * [https://codereview.stackexchange.com/questions/tagged/c Pytania o c z Code review] * [https://open.umn.edu/opentextbooks/textbooks/how-to-think-like-a-computer-scientist-c-version-1999 How to Think Like a Computer Scientist: C Version by Allen B. Downey and Thomas Scheffler, Pub Date: 1999] * [https://riptutorial.com/c/topic/213/getting-started-with-c-language RIP tutorial ( Archived SO doc): Getting started with C Language] * [https://www.semanticscholar.org/paper/Expert-C-programming-deep-C-secrets-Linden/dbb44ba280664abc551143ed0d97899e3e5f4d37 Expert C programming. Deep C secrets by P Linden] * [https://notabug.org/koz.ross/awesome-c awesome-c by Koz Ross ] * [https://github.com/inputsh/awesome-c awesome-c by Aleksandar Todorović] * [https://gustedt.wordpress.com/2019/09/18/modern-c-second-edition/ Modern C by Jens Gustedt] ===algorytmy=== * [https://fragglet.github.io/c-algorithms/ Simon Howard] * [https://www.oreilly.com/library/view/mastering-algorithms-with/1565924533/ Mastering Algorithms with C by Kyle Loudon Released August 1999] and [https://github.com/imxxw/Mastering-Algorithms-with-C c code] ay3pzehnp1embr5jxaudh4au7lzh3be C/printf 0 2986 437692 409958 2022-08-14T08:15:52Z Adam majewski 1978 /* Deklaracja */ kod źródł wikitext text/x-wiki ===Deklaracja=== #include <[[C/Biblioteka standardowa/Indeks tematyczny#stdio.h|stdio.h]]> int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...) #include <[[C/Biblioteka standardowa/Indeks tematyczny#stdarg.h|stdarg.h]]> int vprintf(const char *format, va_list ap); int vfprintf(FILE *stream, const char *format, va_list ap); int vsprintf(char *str, const char *format, va_list ap); int vsnprintf(char *str, size_t size, const char *format, va_list ap); ===Kod  źródłowy=== * [https://stackoverflow.com/questions/59811188/how-to-find-the-source-code-for-printf-in-c stackoverflow question: how-to-find-the-source-code-for-printf-in-c] ===Opis=== Funkcje formatują tekst zgodnie z podanym formatem opisanym poniżej. Funkcje printf i vprintf wypisują tekst na standardowe wyjście (tj. do stdout); fprintf i vfprintf do strumienia podanego jako argument; a sprintf, vsprintf, snprintf i vsnprintf zapisują go w podanej jako argument tablicy znaków. Funkcje vprintf, vfprintf, vsprintf i vsnprintf różnią się od odpowiadających im funkcjom printf, fprintf, sprintf i snprintf tym, że zamiast zmiennej liczby argumentów przyjmują argument typu va_list. Funkcje snprintf i vsnprintf różnią się od sprintf i vsprintf tym, że nie zapisuje do tablicy nie więcej niż <tt>size</tt> znaków (wliczając kończący znak '\0'). Oznacza to, że można je używać bez obawy o wystąpienie przepełnienia bufora. ===Argumenty=== ; format: format, w jakim zostaną wypisane następne argumenty ; stream: strumień wyjściowy, do którego mają być zapisane dane ; str: tablica znaków, do której ma być zapisany sformatowany tekst ; size: rozmiar tablicy znaków ; ap: wskaźnik na pierwszy argument z listy zmiennej liczby argumentów ====size==== Konwersja: "%d", 100 spowoduje zapisanie: [ 1 | 0 | 0 | \0 ] 4 znaków do tablicy: * 3 znaków liczby całkowitej * znaku końca łańcucha (snprintf automatycznie dopisuje ten znak) Jeśli: <ref>[http://joequery.me/code/snprintf-c/ Joe McCullough : snprintf-c]</ref> * rozmiar tablicy str jest <4 ale argument size jest >=4 to powstaje niezdefiniowanie zachowanie (ang. undefined behavior) * rozmiar tablicy str >=4 ale argument size jest <4, to nie powstaje niezdefiniowanie zachowanie, ale łańcuch zostanie obcięty (ang. truncated) ===Format=== Format składa się ze zwykłych znaków (innych niż znak '%'), które są kopiowane bez zmian na wyjście oraz sekwencji sterujących, zaczynających się od symbolu procenta, po którym następuje: * dowolna liczba flag, * opcjonalne określenie minimalnej szerokości pola, * opcjonalne określenie precyzji, * opcjonalne określenie rozmiaru argumentu, * określenie formatu. Jeżeli po znaku procenta występuje od razu drugi procent to cała sekwencja traktowana jest jak zwykły znak procenta (tzn. jest on wypisywany na wyjście). Format kończy [[C/Napisy#Znaki_specjalne|sekwencja wyjścia]] ( ang. escape sequence <ref>[[:w:en:Escape_sequences_in_C|Escape_sequences_in_C w angielskiej wikipedii]]</ref>), np. \n ====Flagi==== W sekwencji możliwe są następujące flagi: * '''-''' (minus) oznacza, że pole ma być wyrównane do lewej, a nie do prawej. * '''+''' (plus) oznacza, że dane liczbowe zawsze poprzedzone są znakiem (plusem dla liczb nieujemnych lub minusem dla ujemnych). * spacja oznacza, że liczby nieujemne poprzedzone są dodatkową spacją; jeżeli flaga plus i spacja są użyte jednocześnie to spacja jest ignorowana. * '''#''' (''hash'') powoduje, że wynik jest przedstawiony w ''alternatywnej postaci'': ** dla formatu '''o''' powoduje to zwiększenie precyzji, jeżeli jest to konieczne, aby na początku wyniku było zero; ** dla formatów '''x''' i '''X''' niezerowa liczba poprzedzona jest ciągiem '''0x''' lub '''0X'''; ** dla formatów '''a''', '''A''', '''e''', '''E''', '''f''', '''F''', '''g''' i '''G''' wynik zawsze zawiera kropkę nawet jeżeli nie ma za nią żadnych cyfr; ** dla formatów '''g''' i '''G''' końcowe zera nie są usuwane. * '''0''' (zero) dla formatów '''d''', '''i''', '''o''', '''u''', '''x''', '''X''', '''a''', '''A''', '''e''', '''E''', '''f''', '''F''', '''g''' i '''G''' do wyrównania pola wykorzystywane są zera zamiast spacji za wyjątkiem wypisywania wartości nieskończoność i NaN. Jeżeli obie flagi 0 i - są obecne to flaga zero jest ignorowana. Dla formatów '''d''', '''i''', '''o''', '''u''', '''x''' i '''X''' jeżeli określona jest precyzja flaga ta jest ignorowana. ====Szerokość pola i precyzja==== Minimalna szerokość pola oznacza ile najmniej znaków ma zająć dane pole. Jeżeli wartość po formatowaniu zajmuje mniej miejsca jest ona wyrównywana spacjami z lewej strony (chyba, że podano flagi, które modyfikują to zachowanie). Domyślna wartość tego pola to 0. Precyzja dla formatów: * '''d''', '''i''', '''o''', '''u''', '''x''' i '''X''' określa minimalną liczbę cyfr, które mają być wyświetlone i ma domyślną wartość 1; * '''a''', '''A''', '''e''', '''E''', '''f''' i '''F''' - liczbę cyfr, które mają być wyświetlone po kropce i ma domyślną wartość 6; * '''g''' i '''G''' określa liczbę cyfr znaczących i ma domyślną wartość 1; * dla formatu '''s''' - maksymalną liczbę znaków, które mają być wypisane. Szerokość pola może być albo dodatnią liczbą zaczynającą się od cyfry różnej od zera albo gwiazdką. Podobnie precyzja z tą różnicą, że jest jeszcze poprzedzona kropką. Gwiazdka oznacza, że brany jest kolejny z argumentów, który musi być typu int. Wartość ujemna przy określeniu szerokości jest traktowana tak jakby podano flagę '''-''' (minus). ====Rozmiar argumentu==== Dla formatów '''d''' i '''i''' można użyć jednego ze modyfikator rozmiaru: * '''hh''' - oznacza, że format odnosi się do argumentu typu signed char, * '''h''' - oznacza, że format odnosi się do argumentu typu short, * '''l''' (el) - oznacza, że format odnosi się do argumentu typu long, * '''ll''' (el el) - oznacza, że format odnosi się do argumentu typu long long, * '''j''' - oznacza, że format odnosi się do argumentu typu intmax_t, * '''z''' - oznacza, że że format odnosi się do argumentu typu będącego odpowiednikiem typu size_t ze znakiem, * '''t''' - oznacza, że że format odnosi się do argumentu typu ptrdiff_t. Dla formatów '''o''', '''u''', '''x''' i '''X''' można użyć takich samych modyfikatorów rozmiaru jak dla formatu '''d''' i oznaczają one, że format odnosi się do argumentu odpowiedniego typu bez znaku. Dla formatu '''n''' można użyć takich samych modyfikatorów rozmiaru jak dla formatu '''d''' i oznaczają one, że format odnosi się do argumentu będącego wskaźnikiem na dany typ. Dla formatów '''a''', '''A''', '''e''', '''E''', '''f''', '''F''', '''g''' i '''G''' można użyć modyfikatorów rozmiaru '''L''', który oznacza, że format odnosi się do argumentu typu long double. Dodatkowo, modyfikator '''l''' (el) dla formatu '''c''' oznacza, że odnosi się on do argumentu typu wint_t, a dla formatu '''s''', że odnosi się on do argumenty typu wskaźnik na wchar_t. ====Format==== Funkcje z rodziny printf obsługują następujące formaty: * '''d''', '''i''' - argument typu int jest przedstawiany jako liczba całkowita ze znakiem w postaci '''[-]ddd'''. * '''o''', '''u''', '''x''', '''X''' - argument typu unsigned int jest przedstawiany jako nieujemna liczba całkowita zapisana w systemie oktalnym ('''o'''), dziesiętnym ('''u''') lub heksadecymalnym ('''x''' i '''X'''). * '''f''', '''F''' - argument typu double jest przedstawiany w postaci '''[-]ddd.ddd'''. * '''e''', '''E''' - argument typu double jest reprezentowany w postaci '''[i]d.ddde+dd''', gdzie liczba przed kropką dziesiętną jest różna od zera, jeżeli liczba jest różna od zera, a '''+''' oznacza znak wykładnika. Format '''E''' używa wielkiej litery E zamiast małej. * '''g''', '''G''' - argument typu double jest reprezentowany w formacie takim jak '''f''' lub '''e''' (odpowiednio '''F''' lub '''E''') zależnie od liczby znaczących cyfr w liczbie oraz określonej precyzji. * '''a''', '''A''' - argument typu double przedstawiany jest w formacie '''[-]0xh.hhhp+d''' czyli analogicznie jak dla '''e''' i '''E''', tyle że liczba zapisana jest w systemie heksadecymalnym. * '''c''' - argument typu int jest konwertowany do unsigned char i wynikowy znak jest wypisywany. Jeżeli podano modyfikator rozmiaru '''l''' argument typu wint_t konwertowany jest do wielobajtowej sekwencji i wypisywany. * '''s''' - argument powinien być typu wskaźnik na char (lub wchar_t). Wszystkie znaki z podanej tablicy, kończące się na null, są wypisywane. * '''p''' - argument powinien być typu wskaźnik na void. Jest on konwertowany na serię drukowalnych znaków w sposób zależny od implementacji. * '''n''' - argument powinien być wskaźnikiem na liczbę całkowitą ze znakiem, do którego zwracana jest liczba zapisanych znaków. W przypadku formatów '''f''', '''F''', '''e''', '''E''', '''g''', '''G''', '''a''' i '''A''' wartość nieskończoność jest przedstawiana w formacie '''[-]inf''' lub '''[-]infinity''' zależnie od implementacji. Wartość NaN jest przedstawiana w postaci '''[-]nan''' lub '''[i]nan(''sekwencja'')''', gdzie '''sekwencja''' jest zależna od implementacji. W przypadku formatów określonych wielką literą również wynikowy ciąg znaków jest wypisywany wielką literą. ====liczb całkowitych o stałej szerokości==== W pliku [[C/Biblioteka_standardowa/Indeks_tematyczny#inttypes.h|inttypes.h]] są ( od C99) zdefiniowane makra dla [[C/Zmienne#int|liczb całkowitych]] o stałej szerokości ( ang. Fixed width integer types ) <ref>[https://en.cppreference.com/w/c/types/integer cppreference: c types integer]</ref> printf("%" PRId64 "\n", t); ===Wartość zwracana=== Jeżeli funkcje zakończą się sukcesem zwracają liczbę znaków w tekście (wypisanym na standardowe wyjście, do podanego strumienia lub tablicy znaków) nie wliczając kończącego '\0'. W przeciwnym wypadku zwracana jest liczba ujemna. Wyjątkami są funkcje snprintf i vsnprintf, które zwracają liczbę znaków, które zostałyby zapisane do tablicy znaków, gdyby była wystarczająco duża. ===Przykłady === ====Podstawowe użycie==== <syntaxhighlight lang="c"> #include <stdio.h> int main() { int i = 4; float f = 3.1415; const char *s = "Monty Python"; printf("i = %d\nf = %.1f\nWskaznik s wskazuje na napis: %s\n", i, f, s); return 0; } </syntaxhighlight> i = 4 f = 3.1 Wskaźnik s wskazuje na napis: Monty Python <!------- --------- co ten kod ma ukazywać? --------- Funkcja formatująca ciąg znaków i alokująca odpowiednią ilość pamięci: <syntaxhighlight lang="c"> #include <stdarg.h> #include <stdlib.h> char *sprintfalloc(const char *format, ...) { int ret; size_t size = 100; char *str = malloc(size); if (!str) return 0; for(;;) { va_list ap; char *tmp; va_start(ap, format); ret = vsnprintf(str, size, format, ap); va_end(ap); if (ret<size) break; tmp = realloc(str, (size_t)ret + 1); if (!tmp) { ret = -1; break; } else { str = tmp; size = (size_t)ret + 1; } } if (ret<0) { free(str); str = 0; }else if (size-1>ret) { char *tmp = realloc(str, (size_t)ret + 1); if (tmp) str = tmp; } return str; } </syntaxhighlight> -------> ====Konwersja ==== Konwersja 1 liczby typu double na łańcuch: <syntaxhighlight lang=c> /* gcc s.c -Wall http://stackoverflow.com/questions/7228438/convert-double-float-to-string */ #include <stdio.h> int main() { size_t size = sizeof(double); double d = 234.567; char s[size]; snprintf(s, size, "%f", d); // convert double to string printf(" d = %f = %s \n", d,s); // check return 0; } </syntaxhighlight> Konwersja 2 liczb typu double na łańcuch:<syntaxhighlight lang="c"> /* http://stackoverflow.com/questions/7228438/convert-double-float-to-string http://linux.die.net/man/3/snprintf The conversion specifier : f, F The double argument is rounded and converted to decimal notation in the style [-]ddd.ddd, where the number of digits after the decimal-point character is equal to the precision specification. If the precision is missing, it is taken as 6; The precision the number of digits to appear after the radix character for a, A, e, E, f, and F conversions, */ #include <stdio.h> int main() { /* And remember to allow space for : - the trailing null '\0' character! - comma */ int n= 2; // number of doubles size_t z_size = n*sizeof(double) +4; // doubles with 15 decimal digits after comma double d1 = -1.123456789012345; double d2 = -2.123456789012345; char sz[z_size]; // // The return value is the number of characters which would be generated for the given input, excluding the trailing null, as per ISO C99. If the return is greater than or equal to size, the resulting string is truncated. int rz; // return value , Upon successful return, these functions return the number of characters printed (excluding the null byte used to end output to strings). // double has 15–17 significant decimal digits precision. rz = snprintf(sz, z_size, "%f,%f", d1, d2); // convert 2 double to string with rounding on 6 decimal place printf("d = %s\n", sz); // check printf ("good size of string is r = %d but now true size is = %zd \n", rz, z_size); return 0; } </syntaxhighlight> Wynik działania: <pre> d = -1.123457,-2.123457 good size of string is = 19 and now true size is = 20 </pre> ====Liczby całkowite==== <syntaxhighlight lang="c"> /* gcc l.c -lm -Wall ./a.out http://stackoverflow.com/questions/29592898/do-long-long-and-long-have-same-range-in-c-in-64-bit-machine */ #include <stdio.h> #include <math.h> // M_PI; needs -lm also #include <limits.h> // INT_MAX, http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html int main() { double lMax; lMax = log2(INT_MAX); printf("INT_MAX \t= %25d ; lMax = log2(INT_MAX) \t= %.0f \n",INT_MAX, lMax); lMax = log2(UINT_MAX); printf("UINT_MAX \t= %25u ; lMax = log2(UINT_MAX) \t= %.0f \n", UINT_MAX, lMax); lMax = log2(LONG_MAX); printf("LONG_MAX \t= %25ld ; lMax = log2(LONG_MAX) \t= %.0f \n",LONG_MAX, lMax); lMax = log2(ULONG_MAX); printf("ULONG_MAX \t= %25lu ; lMax = log2(ULONG_MAX) \t= %.0f \n",ULONG_MAX, lMax); lMax = log2(LLONG_MAX); printf("LLONG_MAX \t= %25lld ; lMax = log2(LLONG_MAX) \t= %.0f \n",LLONG_MAX, lMax); lMax = log2(ULLONG_MAX); printf("ULLONG_MAX \t= %25llu ; lMax = log2(ULLONG_MAX) \t= %.0f \n",ULLONG_MAX, lMax); return 0; } </syntaxhighlight> Wynik: <pre> INT_MAX = 2147483647 ; lMax = log2(INT_MAX) = 31 UINT_MAX = 4294967295 ; lMax = log2(UINT_MAX) = 32 LONG_MAX = 9223372036854775807 ; lMax = log2(LONG_MAX) = 63 ULONG_MAX = 18446744073709551615 ; lMax = log2(ULONG_MAX) = 64 LLONG_MAX = 9223372036854775807 ; lMax = log2(LLONG_MAX) = 63 ULLONG_MAX = 18446744073709551615 ; lMax = log2(ULLONG_MAX) = 64 </pre> ====zmienny format ==== <syntaxhighlight lang=c> // Akshay Hegde // https://www.unix.com/programming/244285-passing-printf-formatting-parameters-variables.html #include <stdio.h> /* Following header files are not needed stdio.h is enough #include <stdlib.h> #include <string.h> */ #define red "\x1b[31m" #define green "\x1b[32m" #define yell "\x1b[33m" #define blue "\x1b[34m" #define magneta "\x1b[35m" #define cyan "\x1b[36m" #define reset "\x1b[0m" int main () { // Your value to be printed float testvalue = 125.25; // precision int prec = 5; // number of digits after decimal int dig = 3; // 'f' for float char c = 'f'; // this holds your format string...("%s...%f") etc char format[10]; // Here we are creating your fmt string sprintf(format, "%%s%%%d.%d%c%%s\n", prec, dig,c); // Finally printing with different colors printf(format,red,testvalue,reset); printf(format,blue,testvalue,reset); } </syntaxhighlight> ====Liczba cyfr ==== <syntaxhighlight lang=c> /* https://www.digitalmars.com/ctg/ctgNumerics.html gcc f.c -lm -Wall ./a.out */ #include <stdio.h> #include <float.h> #define pi 3.14159265358979323846264338327950288419716939937510582097494459230781 // https://pl.wikipedia.org/wiki/Pi int main() { long double l; double d; float f; l = (long double) pi; printf("(long double) \tpi = %.*Lg\n", LDBL_DIG, l); d = (double)pi; printf("(double) \tpi = %.*g\n", DBL_DIG, d); f = (float) pi; printf("(float) \tpi = %.*g\n", FLT_DIG, f); return 0; } </syntaxhighlight> Wynik: <syntaxhighlight lang=bash> (long double) pi = 3.14159265358979312 (double) pi = 3.14159265358979 (float) pi = 3.14159 </syntaxhighlight> ====fragment łańcucha ( ang. substring)==== Jak wydrukować fragment łańcucha <ref>[https://stackoverflow.com/questions/7899119/what-does-s-mean-in-printf stackoverflow question : what-does-s-mean-in-printf] </ref> printf("%.*s\n", str_len, str); ===Uwagi=== Funkcje snprintf i vsnprintf nie były zdefiniowane w standardzie C89. Zostały one dodane dopiero w standardzie C99. Biblioteka glibc do wersji 2.0.6 włącznie posiadała implementacje funkcji snprintf oraz vsnprintf, które były niezgodne ze standardem, gdyż zwracały -1 w przypadku, gdy wynikowy tekst nie mieścił się w podanej tablicy znaków. {{TODO|Porównać ze standardem C89 i oznaczyć funkcjonalności wprowadzone dopiero w C99.}} ====Rozszerzenia GNU==== '''asprintf''' = allocating string print formatted <syntaxhighlight lang =c> /* Using asprintf instead of sprintf or snprintf by james : "To use this function you also need to define _GNU_SOURCE on the gcc command line (of in the program with a define before the includes)" http://www.stev.org/post/2012/02/10/Using-saprintf-instead-of-sprintf-or-snprintf.aspx http://ubuntuforums.org/showthread.php?t=279801 gcc a.c -D_GNU_SOURCE -Wall // without #define _GNU_SOURCE gcc a.c -Wall */ #define _GNU_SOURCE // asprintf #include <stdio.h> #include <stdlib.h> int main() { char *tmp = 0; // if (asprintf(&tmp, "%s %s %s", "Hello", "world", "here I am !") < 0) { perror("asprintf"); exit(EXIT_FAILURE); } printf("%s\n", tmp); free(tmp); return 0; } </syntaxhighlight> Kiedy chcemy kilka zapisać do tej samej zmiennej to używamy jej jednocześnie jako wyjścia i wejścia: asprintf(&tmp, "%s %f,%f ", tmp, zx , -zy ); ===Problemy=== ====nie ma wyniku na ekranie==== * przyczyna : przekierowanie stdout * brak \n * błąd w programie<ref>[https://stackoverflow.com/questions/17816469/simple-c-program-with-array-is-not-printing-proper-output?rq=1 stackoverflow question : simple-c-program-with-array-is-not-printing-proper-output]</ref> Rozwiązanie: * restart konsoli ( przywraca standardowe ustawienia) * dodanie \n lub procedury fflush(stdout);. * usunięcie błędu z programu ===Zobacz też=== :[[C/scanf|scanf]] :[[C/Podstawowe procedury wejścia i wyjścia|Podstawowe procedury wejścia i wyjścia]] :[[C/Napisy#Znaki_specjalne|Znaki specjalne]] : Liczba cyfr dziesiętnych ( LDBL_DIG, DBL_DIG ) zdefiniowane w float.h ===Źródła=== <references/> f6selsb6meal1wrk3as2jy1hv3233ob 437693 437692 2022-08-14T08:21:59Z Adam majewski 1978 /* Problemy */ pomoc wikitext text/x-wiki ===Deklaracja=== #include <[[C/Biblioteka standardowa/Indeks tematyczny#stdio.h|stdio.h]]> int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...) #include <[[C/Biblioteka standardowa/Indeks tematyczny#stdarg.h|stdarg.h]]> int vprintf(const char *format, va_list ap); int vfprintf(FILE *stream, const char *format, va_list ap); int vsprintf(char *str, const char *format, va_list ap); int vsnprintf(char *str, size_t size, const char *format, va_list ap); ===Kod  źródłowy=== * [https://stackoverflow.com/questions/59811188/how-to-find-the-source-code-for-printf-in-c stackoverflow question: how-to-find-the-source-code-for-printf-in-c] ===Opis=== Funkcje formatują tekst zgodnie z podanym formatem opisanym poniżej. Funkcje printf i vprintf wypisują tekst na standardowe wyjście (tj. do stdout); fprintf i vfprintf do strumienia podanego jako argument; a sprintf, vsprintf, snprintf i vsnprintf zapisują go w podanej jako argument tablicy znaków. Funkcje vprintf, vfprintf, vsprintf i vsnprintf różnią się od odpowiadających im funkcjom printf, fprintf, sprintf i snprintf tym, że zamiast zmiennej liczby argumentów przyjmują argument typu va_list. Funkcje snprintf i vsnprintf różnią się od sprintf i vsprintf tym, że nie zapisuje do tablicy nie więcej niż <tt>size</tt> znaków (wliczając kończący znak '\0'). Oznacza to, że można je używać bez obawy o wystąpienie przepełnienia bufora. ===Argumenty=== ; format: format, w jakim zostaną wypisane następne argumenty ; stream: strumień wyjściowy, do którego mają być zapisane dane ; str: tablica znaków, do której ma być zapisany sformatowany tekst ; size: rozmiar tablicy znaków ; ap: wskaźnik na pierwszy argument z listy zmiennej liczby argumentów ====size==== Konwersja: "%d", 100 spowoduje zapisanie: [ 1 | 0 | 0 | \0 ] 4 znaków do tablicy: * 3 znaków liczby całkowitej * znaku końca łańcucha (snprintf automatycznie dopisuje ten znak) Jeśli: <ref>[http://joequery.me/code/snprintf-c/ Joe McCullough : snprintf-c]</ref> * rozmiar tablicy str jest <4 ale argument size jest >=4 to powstaje niezdefiniowanie zachowanie (ang. undefined behavior) * rozmiar tablicy str >=4 ale argument size jest <4, to nie powstaje niezdefiniowanie zachowanie, ale łańcuch zostanie obcięty (ang. truncated) ===Format=== Format składa się ze zwykłych znaków (innych niż znak '%'), które są kopiowane bez zmian na wyjście oraz sekwencji sterujących, zaczynających się od symbolu procenta, po którym następuje: * dowolna liczba flag, * opcjonalne określenie minimalnej szerokości pola, * opcjonalne określenie precyzji, * opcjonalne określenie rozmiaru argumentu, * określenie formatu. Jeżeli po znaku procenta występuje od razu drugi procent to cała sekwencja traktowana jest jak zwykły znak procenta (tzn. jest on wypisywany na wyjście). Format kończy [[C/Napisy#Znaki_specjalne|sekwencja wyjścia]] ( ang. escape sequence <ref>[[:w:en:Escape_sequences_in_C|Escape_sequences_in_C w angielskiej wikipedii]]</ref>), np. \n ====Flagi==== W sekwencji możliwe są następujące flagi: * '''-''' (minus) oznacza, że pole ma być wyrównane do lewej, a nie do prawej. * '''+''' (plus) oznacza, że dane liczbowe zawsze poprzedzone są znakiem (plusem dla liczb nieujemnych lub minusem dla ujemnych). * spacja oznacza, że liczby nieujemne poprzedzone są dodatkową spacją; jeżeli flaga plus i spacja są użyte jednocześnie to spacja jest ignorowana. * '''#''' (''hash'') powoduje, że wynik jest przedstawiony w ''alternatywnej postaci'': ** dla formatu '''o''' powoduje to zwiększenie precyzji, jeżeli jest to konieczne, aby na początku wyniku było zero; ** dla formatów '''x''' i '''X''' niezerowa liczba poprzedzona jest ciągiem '''0x''' lub '''0X'''; ** dla formatów '''a''', '''A''', '''e''', '''E''', '''f''', '''F''', '''g''' i '''G''' wynik zawsze zawiera kropkę nawet jeżeli nie ma za nią żadnych cyfr; ** dla formatów '''g''' i '''G''' końcowe zera nie są usuwane. * '''0''' (zero) dla formatów '''d''', '''i''', '''o''', '''u''', '''x''', '''X''', '''a''', '''A''', '''e''', '''E''', '''f''', '''F''', '''g''' i '''G''' do wyrównania pola wykorzystywane są zera zamiast spacji za wyjątkiem wypisywania wartości nieskończoność i NaN. Jeżeli obie flagi 0 i - są obecne to flaga zero jest ignorowana. Dla formatów '''d''', '''i''', '''o''', '''u''', '''x''' i '''X''' jeżeli określona jest precyzja flaga ta jest ignorowana. ====Szerokość pola i precyzja==== Minimalna szerokość pola oznacza ile najmniej znaków ma zająć dane pole. Jeżeli wartość po formatowaniu zajmuje mniej miejsca jest ona wyrównywana spacjami z lewej strony (chyba, że podano flagi, które modyfikują to zachowanie). Domyślna wartość tego pola to 0. Precyzja dla formatów: * '''d''', '''i''', '''o''', '''u''', '''x''' i '''X''' określa minimalną liczbę cyfr, które mają być wyświetlone i ma domyślną wartość 1; * '''a''', '''A''', '''e''', '''E''', '''f''' i '''F''' - liczbę cyfr, które mają być wyświetlone po kropce i ma domyślną wartość 6; * '''g''' i '''G''' określa liczbę cyfr znaczących i ma domyślną wartość 1; * dla formatu '''s''' - maksymalną liczbę znaków, które mają być wypisane. Szerokość pola może być albo dodatnią liczbą zaczynającą się od cyfry różnej od zera albo gwiazdką. Podobnie precyzja z tą różnicą, że jest jeszcze poprzedzona kropką. Gwiazdka oznacza, że brany jest kolejny z argumentów, który musi być typu int. Wartość ujemna przy określeniu szerokości jest traktowana tak jakby podano flagę '''-''' (minus). ====Rozmiar argumentu==== Dla formatów '''d''' i '''i''' można użyć jednego ze modyfikator rozmiaru: * '''hh''' - oznacza, że format odnosi się do argumentu typu signed char, * '''h''' - oznacza, że format odnosi się do argumentu typu short, * '''l''' (el) - oznacza, że format odnosi się do argumentu typu long, * '''ll''' (el el) - oznacza, że format odnosi się do argumentu typu long long, * '''j''' - oznacza, że format odnosi się do argumentu typu intmax_t, * '''z''' - oznacza, że że format odnosi się do argumentu typu będącego odpowiednikiem typu size_t ze znakiem, * '''t''' - oznacza, że że format odnosi się do argumentu typu ptrdiff_t. Dla formatów '''o''', '''u''', '''x''' i '''X''' można użyć takich samych modyfikatorów rozmiaru jak dla formatu '''d''' i oznaczają one, że format odnosi się do argumentu odpowiedniego typu bez znaku. Dla formatu '''n''' można użyć takich samych modyfikatorów rozmiaru jak dla formatu '''d''' i oznaczają one, że format odnosi się do argumentu będącego wskaźnikiem na dany typ. Dla formatów '''a''', '''A''', '''e''', '''E''', '''f''', '''F''', '''g''' i '''G''' można użyć modyfikatorów rozmiaru '''L''', który oznacza, że format odnosi się do argumentu typu long double. Dodatkowo, modyfikator '''l''' (el) dla formatu '''c''' oznacza, że odnosi się on do argumentu typu wint_t, a dla formatu '''s''', że odnosi się on do argumenty typu wskaźnik na wchar_t. ====Format==== Funkcje z rodziny printf obsługują następujące formaty: * '''d''', '''i''' - argument typu int jest przedstawiany jako liczba całkowita ze znakiem w postaci '''[-]ddd'''. * '''o''', '''u''', '''x''', '''X''' - argument typu unsigned int jest przedstawiany jako nieujemna liczba całkowita zapisana w systemie oktalnym ('''o'''), dziesiętnym ('''u''') lub heksadecymalnym ('''x''' i '''X'''). * '''f''', '''F''' - argument typu double jest przedstawiany w postaci '''[-]ddd.ddd'''. * '''e''', '''E''' - argument typu double jest reprezentowany w postaci '''[i]d.ddde+dd''', gdzie liczba przed kropką dziesiętną jest różna od zera, jeżeli liczba jest różna od zera, a '''+''' oznacza znak wykładnika. Format '''E''' używa wielkiej litery E zamiast małej. * '''g''', '''G''' - argument typu double jest reprezentowany w formacie takim jak '''f''' lub '''e''' (odpowiednio '''F''' lub '''E''') zależnie od liczby znaczących cyfr w liczbie oraz określonej precyzji. * '''a''', '''A''' - argument typu double przedstawiany jest w formacie '''[-]0xh.hhhp+d''' czyli analogicznie jak dla '''e''' i '''E''', tyle że liczba zapisana jest w systemie heksadecymalnym. * '''c''' - argument typu int jest konwertowany do unsigned char i wynikowy znak jest wypisywany. Jeżeli podano modyfikator rozmiaru '''l''' argument typu wint_t konwertowany jest do wielobajtowej sekwencji i wypisywany. * '''s''' - argument powinien być typu wskaźnik na char (lub wchar_t). Wszystkie znaki z podanej tablicy, kończące się na null, są wypisywane. * '''p''' - argument powinien być typu wskaźnik na void. Jest on konwertowany na serię drukowalnych znaków w sposób zależny od implementacji. * '''n''' - argument powinien być wskaźnikiem na liczbę całkowitą ze znakiem, do którego zwracana jest liczba zapisanych znaków. W przypadku formatów '''f''', '''F''', '''e''', '''E''', '''g''', '''G''', '''a''' i '''A''' wartość nieskończoność jest przedstawiana w formacie '''[-]inf''' lub '''[-]infinity''' zależnie od implementacji. Wartość NaN jest przedstawiana w postaci '''[-]nan''' lub '''[i]nan(''sekwencja'')''', gdzie '''sekwencja''' jest zależna od implementacji. W przypadku formatów określonych wielką literą również wynikowy ciąg znaków jest wypisywany wielką literą. ====liczb całkowitych o stałej szerokości==== W pliku [[C/Biblioteka_standardowa/Indeks_tematyczny#inttypes.h|inttypes.h]] są ( od C99) zdefiniowane makra dla [[C/Zmienne#int|liczb całkowitych]] o stałej szerokości ( ang. Fixed width integer types ) <ref>[https://en.cppreference.com/w/c/types/integer cppreference: c types integer]</ref> printf("%" PRId64 "\n", t); ===Wartość zwracana=== Jeżeli funkcje zakończą się sukcesem zwracają liczbę znaków w tekście (wypisanym na standardowe wyjście, do podanego strumienia lub tablicy znaków) nie wliczając kończącego '\0'. W przeciwnym wypadku zwracana jest liczba ujemna. Wyjątkami są funkcje snprintf i vsnprintf, które zwracają liczbę znaków, które zostałyby zapisane do tablicy znaków, gdyby była wystarczająco duża. ===Przykłady === ====Podstawowe użycie==== <syntaxhighlight lang="c"> #include <stdio.h> int main() { int i = 4; float f = 3.1415; const char *s = "Monty Python"; printf("i = %d\nf = %.1f\nWskaznik s wskazuje na napis: %s\n", i, f, s); return 0; } </syntaxhighlight> i = 4 f = 3.1 Wskaźnik s wskazuje na napis: Monty Python <!------- --------- co ten kod ma ukazywać? --------- Funkcja formatująca ciąg znaków i alokująca odpowiednią ilość pamięci: <syntaxhighlight lang="c"> #include <stdarg.h> #include <stdlib.h> char *sprintfalloc(const char *format, ...) { int ret; size_t size = 100; char *str = malloc(size); if (!str) return 0; for(;;) { va_list ap; char *tmp; va_start(ap, format); ret = vsnprintf(str, size, format, ap); va_end(ap); if (ret<size) break; tmp = realloc(str, (size_t)ret + 1); if (!tmp) { ret = -1; break; } else { str = tmp; size = (size_t)ret + 1; } } if (ret<0) { free(str); str = 0; }else if (size-1>ret) { char *tmp = realloc(str, (size_t)ret + 1); if (tmp) str = tmp; } return str; } </syntaxhighlight> -------> ====Konwersja ==== Konwersja 1 liczby typu double na łańcuch: <syntaxhighlight lang=c> /* gcc s.c -Wall http://stackoverflow.com/questions/7228438/convert-double-float-to-string */ #include <stdio.h> int main() { size_t size = sizeof(double); double d = 234.567; char s[size]; snprintf(s, size, "%f", d); // convert double to string printf(" d = %f = %s \n", d,s); // check return 0; } </syntaxhighlight> Konwersja 2 liczb typu double na łańcuch:<syntaxhighlight lang="c"> /* http://stackoverflow.com/questions/7228438/convert-double-float-to-string http://linux.die.net/man/3/snprintf The conversion specifier : f, F The double argument is rounded and converted to decimal notation in the style [-]ddd.ddd, where the number of digits after the decimal-point character is equal to the precision specification. If the precision is missing, it is taken as 6; The precision the number of digits to appear after the radix character for a, A, e, E, f, and F conversions, */ #include <stdio.h> int main() { /* And remember to allow space for : - the trailing null '\0' character! - comma */ int n= 2; // number of doubles size_t z_size = n*sizeof(double) +4; // doubles with 15 decimal digits after comma double d1 = -1.123456789012345; double d2 = -2.123456789012345; char sz[z_size]; // // The return value is the number of characters which would be generated for the given input, excluding the trailing null, as per ISO C99. If the return is greater than or equal to size, the resulting string is truncated. int rz; // return value , Upon successful return, these functions return the number of characters printed (excluding the null byte used to end output to strings). // double has 15–17 significant decimal digits precision. rz = snprintf(sz, z_size, "%f,%f", d1, d2); // convert 2 double to string with rounding on 6 decimal place printf("d = %s\n", sz); // check printf ("good size of string is r = %d but now true size is = %zd \n", rz, z_size); return 0; } </syntaxhighlight> Wynik działania: <pre> d = -1.123457,-2.123457 good size of string is = 19 and now true size is = 20 </pre> ====Liczby całkowite==== <syntaxhighlight lang="c"> /* gcc l.c -lm -Wall ./a.out http://stackoverflow.com/questions/29592898/do-long-long-and-long-have-same-range-in-c-in-64-bit-machine */ #include <stdio.h> #include <math.h> // M_PI; needs -lm also #include <limits.h> // INT_MAX, http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html int main() { double lMax; lMax = log2(INT_MAX); printf("INT_MAX \t= %25d ; lMax = log2(INT_MAX) \t= %.0f \n",INT_MAX, lMax); lMax = log2(UINT_MAX); printf("UINT_MAX \t= %25u ; lMax = log2(UINT_MAX) \t= %.0f \n", UINT_MAX, lMax); lMax = log2(LONG_MAX); printf("LONG_MAX \t= %25ld ; lMax = log2(LONG_MAX) \t= %.0f \n",LONG_MAX, lMax); lMax = log2(ULONG_MAX); printf("ULONG_MAX \t= %25lu ; lMax = log2(ULONG_MAX) \t= %.0f \n",ULONG_MAX, lMax); lMax = log2(LLONG_MAX); printf("LLONG_MAX \t= %25lld ; lMax = log2(LLONG_MAX) \t= %.0f \n",LLONG_MAX, lMax); lMax = log2(ULLONG_MAX); printf("ULLONG_MAX \t= %25llu ; lMax = log2(ULLONG_MAX) \t= %.0f \n",ULLONG_MAX, lMax); return 0; } </syntaxhighlight> Wynik: <pre> INT_MAX = 2147483647 ; lMax = log2(INT_MAX) = 31 UINT_MAX = 4294967295 ; lMax = log2(UINT_MAX) = 32 LONG_MAX = 9223372036854775807 ; lMax = log2(LONG_MAX) = 63 ULONG_MAX = 18446744073709551615 ; lMax = log2(ULONG_MAX) = 64 LLONG_MAX = 9223372036854775807 ; lMax = log2(LLONG_MAX) = 63 ULLONG_MAX = 18446744073709551615 ; lMax = log2(ULLONG_MAX) = 64 </pre> ====zmienny format ==== <syntaxhighlight lang=c> // Akshay Hegde // https://www.unix.com/programming/244285-passing-printf-formatting-parameters-variables.html #include <stdio.h> /* Following header files are not needed stdio.h is enough #include <stdlib.h> #include <string.h> */ #define red "\x1b[31m" #define green "\x1b[32m" #define yell "\x1b[33m" #define blue "\x1b[34m" #define magneta "\x1b[35m" #define cyan "\x1b[36m" #define reset "\x1b[0m" int main () { // Your value to be printed float testvalue = 125.25; // precision int prec = 5; // number of digits after decimal int dig = 3; // 'f' for float char c = 'f'; // this holds your format string...("%s...%f") etc char format[10]; // Here we are creating your fmt string sprintf(format, "%%s%%%d.%d%c%%s\n", prec, dig,c); // Finally printing with different colors printf(format,red,testvalue,reset); printf(format,blue,testvalue,reset); } </syntaxhighlight> ====Liczba cyfr ==== <syntaxhighlight lang=c> /* https://www.digitalmars.com/ctg/ctgNumerics.html gcc f.c -lm -Wall ./a.out */ #include <stdio.h> #include <float.h> #define pi 3.14159265358979323846264338327950288419716939937510582097494459230781 // https://pl.wikipedia.org/wiki/Pi int main() { long double l; double d; float f; l = (long double) pi; printf("(long double) \tpi = %.*Lg\n", LDBL_DIG, l); d = (double)pi; printf("(double) \tpi = %.*g\n", DBL_DIG, d); f = (float) pi; printf("(float) \tpi = %.*g\n", FLT_DIG, f); return 0; } </syntaxhighlight> Wynik: <syntaxhighlight lang=bash> (long double) pi = 3.14159265358979312 (double) pi = 3.14159265358979 (float) pi = 3.14159 </syntaxhighlight> ====fragment łańcucha ( ang. substring)==== Jak wydrukować fragment łańcucha <ref>[https://stackoverflow.com/questions/7899119/what-does-s-mean-in-printf stackoverflow question : what-does-s-mean-in-printf] </ref> printf("%.*s\n", str_len, str); ===Uwagi=== Funkcje snprintf i vsnprintf nie były zdefiniowane w standardzie C89. Zostały one dodane dopiero w standardzie C99. Biblioteka glibc do wersji 2.0.6 włącznie posiadała implementacje funkcji snprintf oraz vsnprintf, które były niezgodne ze standardem, gdyż zwracały -1 w przypadku, gdy wynikowy tekst nie mieścił się w podanej tablicy znaków. {{TODO|Porównać ze standardem C89 i oznaczyć funkcjonalności wprowadzone dopiero w C99.}} ====Rozszerzenia GNU==== '''asprintf''' = allocating string print formatted <syntaxhighlight lang =c> /* Using asprintf instead of sprintf or snprintf by james : "To use this function you also need to define _GNU_SOURCE on the gcc command line (of in the program with a define before the includes)" http://www.stev.org/post/2012/02/10/Using-saprintf-instead-of-sprintf-or-snprintf.aspx http://ubuntuforums.org/showthread.php?t=279801 gcc a.c -D_GNU_SOURCE -Wall // without #define _GNU_SOURCE gcc a.c -Wall */ #define _GNU_SOURCE // asprintf #include <stdio.h> #include <stdlib.h> int main() { char *tmp = 0; // if (asprintf(&tmp, "%s %s %s", "Hello", "world", "here I am !") < 0) { perror("asprintf"); exit(EXIT_FAILURE); } printf("%s\n", tmp); free(tmp); return 0; } </syntaxhighlight> Kiedy chcemy kilka zapisać do tej samej zmiennej to używamy jej jednocześnie jako wyjścia i wejścia: asprintf(&tmp, "%s %f,%f ", tmp, zx , -zy ); ===Problemy=== ====nie ma wyniku na ekranie==== * przyczyna : przekierowanie stdout * brak \n * błąd w programie<ref>[https://stackoverflow.com/questions/17816469/simple-c-program-with-array-is-not-printing-proper-output?rq=1 stackoverflow question : simple-c-program-with-array-is-not-printing-proper-output]</ref> Rozwiązanie: * restart konsoli ( przywraca standardowe ustawienia) * dodanie \n lub procedury fflush(stdout);. * usunięcie błędu z programu ===Pomoc=== * [https://stackoverflow.com/questions/tagged/printf stackoverflow questions tagged printf] ===Zobacz też=== :[[C/scanf|scanf]] :[[C/Podstawowe procedury wejścia i wyjścia|Podstawowe procedury wejścia i wyjścia]] :[[C/Napisy#Znaki_specjalne|Znaki specjalne]] : Liczba cyfr dziesiętnych ( LDBL_DIG, DBL_DIG ) zdefiniowane w float.h ===Źródła=== <references/> 5dqymf365ya74tk433r66tf3txok1f5 Szablon:Screenshot 10 4157 437670 24180 2022-08-13T15:08:32Z Persino 2851 wikitext text/x-wiki #REDIRECT [[Szablon:ek]] {{Kategoria|Przekierowania wewnętrzne skrótów szablonów}} aluv1k5qvgrlmudyxf634861ptd2jfi Szablon:Dokumentacja 10 19880 437671 437524 2022-08-13T15:29:52Z Persino 2851 wikitext text/x-wiki <templatestyles src="Szablon:Dokumentacja/styles.css" /><templatestyles src="Szablon:Fmbox/styles.css" /><templatestyles src="Szablon:Mbox/styles.css" /> <div class="template-documentation" style="padding: 14px;">{{ #if: {{{nagłówek|Dokumentacja}}} |<div style="padding-bottom: {{{heading-padding|3px}}}; border-bottom: 1px solid #aaa; margin-bottom: {{{margines nagłówka|1ex}}}"><span style="{{{styl nagłówka|font-size: 125%; font-weight: 600;}}}">[[Plik:Template-info.png|50px]]&nbsp;{{{nagłówek|Dokumentacja{{#switch: {{NAMESPACE}}|Szablon=&nbsp;szablonu|Moduł=&nbsp;modułu|#default=}}}}}</span> <span class="plainlinks" id="doc_editlinks" style="margin-left: 1em; font-size: 90%;">{{ #ifexist: {{{1|{{Dokumentacja/nazwa}}}}} |<!-- /opis istnieje -->[[{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}}} zobacz]] [[{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=edit}} edytuj]] [[{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=history}} historia]] [{{odśwież|odśwież}}] |<!-- nie ma /opis -->{{ #if: {{{zawartość|}}} |[{{odśwież|odśwież}}] |<!-- no content -->[[{{fullurl:{{{1|{{Dokumentacja/nazwa }}}}}|action=edit&preload={{{preload opisu|Szablon:Dokumentacja/preload}}}}} stwórz]] [{{odśwież|odśwież}}] }} }}</span></div> }}<!-- endif heading --> <div class="main_scrollbar_documentation mw-overflow-x" style="overflow-x:auto;"><div class="documentation_content" style="min-width:fit-content;width:100%;"> {{{zawartość|{{ {{ #ifexist: {{{1|{{Dokumentacja/nazwa}}}}} | {{{1|{{Dokumentacja/nazwa}}}}} | ns:0 }} }}}}}</div></div></div> {{#switch: {{{okno linków}}}|nie=|tak|#default={{#if:{{{zawartość|}}}||<table id="documentation-meta-data" class="plainlinks fmbox fmbox-system" role="presentation" style="background-color: #ecfcf4"> <tr> <td class="mbox-text" style="font-style: italic"> <div id="template_doc_page_transcluded" class="plainlinks" style="font-style:italic;">{{ #ifeq: {{{transcluded|show}}} | show |<!-- transcluded show -->{{ #ifexist: {{{1|{{Dokumentacja/nazwa}}}}} |<!-- /doc exists -->Powyższy [[w:Pomoc:Schemat opisu szablonu|opis]] jest [[w:Pomoc:Transkluzja|dołączany]] ze strony [[{{{1|{{Dokumentacja/nazwa}}}}}]]. <small style="font-style: normal;">([{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=edit}} edytuj] {{!}} [{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=history}} historia])</small><br /> }} |<!-- transcluded hide --> }}{{ #switch: {{SUBPAGENAME}} |brudnopis=<!-- sandbox --> |test=<!-- testcases --> |#default={{ #switch: {{SUBJECTSPACE}}/{{{sandbox-testcases|show}}} | {{ns:template}}/show | {{ns:user}}/show | {{ns:module}}/show =<!-- show /sandbox /testcases -->{{ #ifexist: {{ #rel2abs: /brudnopis }} | Edytorzy mogą eksperymentować w [[/brudnopis|brudnopisie]] <small style="font-style: normal;">([{{fullurl:{{ #rel2abs: /brudnopis }}|action=edit}} edytuj] {{!}} [{{fullurl:Specjalna:Porównywanie stron|page1={{FULLPAGENAMEE}}&page2={{FULLPAGENAMEE}}/brudnopis}} różnice])</small> {{ #ifexist: {{ #rel2abs: /test }} |<!-- /sandbox AND /testcases --> i na stronach [[/test|testowych]] <small style="font-style: normal;">([{{fullurl:{{ #rel2abs: /test }}|action=edit}} edytuj])</small> tego | tego<!-- /sandbox BUT no /testcases -->}} {{#switch: {{NAMESPACE}} | Moduł = modułu | szablonu}}.<br /> |<!-- no /sandbox -->{{ #ifexist: {{ #rel2abs: /test }} | Edytorzy mogą eksperymentować na stronach [[/test|testowych]] <small style="font-style: normal;">([{{fullurl:{{ #rel2abs: /test }}|action=edit}} edytuj])</small> tego {{#switch: {{NAMESPACE}} | Moduł = modułu | szablonu}}.<br /> }} }} |<!-- hide /sandbox /testcases --> }} }} {{#switch: {{NAMESPACE}} | Szablon = {{#ifexist: {{FULLPAGENAME}}/opis|Kategorie należy dodawać do podstrony [[{{FULLPAGENAME}}/opis|/opis]].&nbsp;}}Zobacz [[Specjalna:Strony według prefiksu/{{#ifexist: {{#rel2abs: ../.}}|{{#rel2abs: ../.}}|{{FULLPAGENAME}}}}/|podstrony tego szablonu]]. | Moduł = Zobacz [[Specjalna:Strony według prefiksu/{{#ifexist: {{#rel2abs: ../.}}|{{#rel2abs: ../.}}|{{FULLPAGENAME}}}}/|podstrony tego modułu]].}}</div> </td></tr></table>}}}} ttukzyw105j4m4yvvbt4wcp9jpiunqe Szablon:Wikipedia2 10 31216 437664 417074 2022-08-13T13:08:48Z Persino 2851 wikitext text/x-wiki <includeonly>{{#if:{{{ref|}}}||{{Div|styl=float: left;|{{Plik|plik=Wikipedia-logo-v2.svg|rozmiar=20px|opis=Wikipedia}}}} :}}Zobacz w [[w:Wikipedia:Strona główna|Wikipedii]] hasł{{#if:{{{strona2|}}}|a{{Br}}|o }} {{#if:{{{strona1|}}}|[[w:{{{strona1}}}|{{{dopełniacz1}}}]]|{{#if:{{{strona|}}}|[[w:{{{strona}}}|{{{dopełniacz|{{PAGENAME}}}}}]]|[[w:{{{1|{{PAGENAME}}}}}|{{{dopełniacz|{{PAGENAME}}}}}]]}}}} {{#invoke:Ramka|Powtarzaj|parametry=strona=tak|po kolei=tak|start=2|{{Br}}{{!((}}w:{{(((}}strona{{((}}_{{))}}{{)))}}{{!}}{{(((}}dopełniacz{{((}}_{{))}}{{)))}}{{))!}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> f3zrs4wlecc9acaie6bf678khasg9y8 437665 437664 2022-08-13T13:09:24Z Persino 2851 wikitext text/x-wiki <includeonly>{{#if:{{{ref|}}}||{{Div|styl=float: left;|{{Plik|plik=Wikipedia-logo-v2.svg|rozmiar=20px|opis=Wikipedia}}}} :}}Zobacz w [[w:Wikipedia:Strona główna|Wikipedii]] hasł{{#if:{{{strona2|}}}|a{{Br}}|o }} {{#if:{{{strona1|}}}|[[w:{{{strona1}}}|{{{dopełniacz1}}}]]|{{#if:{{{strona|}}}|[[w:{{{strona}}}|{{{dopełniacz|{{PAGENAME}}}}}]]|[[w:{{{1|{{PAGENAME}}}}}|{{{dopełniacz|{{PAGENAME}}}}}]]}}}} {{#invoke:Ramka|Powtarzaj|parametry=strona=tak|start=2|{{Br}}{{!((}}w:{{(((}}strona{{((}}_{{))}}{{)))}}{{!}}{{(((}}dopełniacz{{((}}_{{))}}{{)))}}{{))!}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude> ouowpp3khwgmop63ovata5vf91ykemr Szablon:Wikipedia2/opis 10 31575 437666 394649 2022-08-13T13:12:22Z Persino 2851 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Szablony siostrzanych projektów}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> W porównaniu z szablonem {{s|Wikipedia}} umożliwia dodanie więcej linków (dowolną liczbę) do artykułów w Wikipedii. == Użycie == == Opis parametrów == * stronaX - tytuł strony w Wikipedii * dopełniaczX - wyświetlany tytuł linka. X to numer od 1 do 5. Może być też para parametrów bez numeru, a jeżeli w niej nie podano tytułu - tytuł wyświetlanej strony. == Przykład == <pre>{{Wikipedia2|strona1=Wikipedia|dopełniacz1=Wikipedia|strona2=Wikibooks|dopełniacz2=Wirtualne podręczniki|strona3=Wikinews|dopełniacz3=Wikinews}}</pre> {{Wikipedia2|strona1=Wikipedia|dopełniacz1=Wikipedia|strona2=Wikibooks|dopełniacz2=Wirtualne podręczniki|strona3=Wikinews|dopełniacz3=Wikinews}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Zobacz też == *{{s|Wikipedia}}, {{s|Wikipedia kat}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> [[Kategoria:Szablony siostrzanych projektów]] </includeonly> ewbk4b50s5gf9bf7bbdwh0jy836klsz 437667 437666 2022-08-13T13:18:08Z Persino 2851 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Szablony siostrzanych projektów}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> W porównaniu z szablonem {{s|Wikipedia}} umożliwia dodanie więcej linków (dowolną liczbę) do artykułów w Wikipedii. == Użycie == == Opis parametrów == * {{Code|stronaX}} - tytuł strony w Wikipedii * {{Code|dopełniaczX}} - wyświetlany tytuł linka. X to numer od 1 do 5. Może być też para parametrów bez numeru, a jeżeli w niej nie podano tytułu - tytuł wyświetlanej strony. == Przykład == {{Pre|{{s|Wikipedia2|strona1{{=}}Wikipedia|dopełniacz1{{=}}Wikipedia|strona2{{=}}Wikibooks|dopełniacz2{{=}}Wirtualne podręczniki|strona3{{=}}Wikinews|dopełniacz3{{=}}Wikinews}}}} {{Wikipedia2|strona1=Wikipedia|dopełniacz1=Wikipedia|strona2=Wikibooks|dopełniacz2=Wirtualne podręczniki|strona3=Wikinews|dopełniacz3=Wikinews}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Zobacz też == ; Te szablony dodają ramkę z odnośnikiem do strony w Wikipedii * {{s|Wikipedia}} - do hasła, * {{s|Wikipedia kat}} - do kategorii. {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów}} </includeonly> 3qar39fgjo7ygj60lxxbjyubm89239s 437668 437667 2022-08-13T13:22:01Z Persino 2851 /* Opis parametrów */ wikitext text/x-wiki {{Podstrona dokumentacji}} {{Szablony siostrzanych projektów}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> W porównaniu z szablonem {{s|Wikipedia}} umożliwia dodanie więcej linków (dowolną liczbę) do artykułów w Wikipedii. == Użycie == == Opis parametrów == * {{Code|stronaX}} - tytuł strony w Wikipedii, * {{Code|dopełniaczX}} - wyświetlany tytuł linka. X to numer od 1 do 5. Może być też para parametrów bez numeru, a jeżeli w niej nie podano tytułu - tytuł wyświetlanej strony. == Przykład == {{Pre|{{s|Wikipedia2|strona1{{=}}Wikipedia|dopełniacz1{{=}}Wikipedia|strona2{{=}}Wikibooks|dopełniacz2{{=}}Wirtualne podręczniki|strona3{{=}}Wikinews|dopełniacz3{{=}}Wikinews}}}} {{Wikipedia2|strona1=Wikipedia|dopełniacz1=Wikipedia|strona2=Wikibooks|dopełniacz2=Wirtualne podręczniki|strona3=Wikinews|dopełniacz3=Wikinews}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Zobacz też == ; Te szablony dodają ramkę z odnośnikiem do strony w Wikipedii * {{s|Wikipedia}} - do hasła, * {{s|Wikipedia kat}} - do kategorii. {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów}} </includeonly> l03ztvdy3g8p6wcjaweso4c41p3j16n 437669 437668 2022-08-13T14:57:29Z Persino 2851 /* Opis parametrów */ wikitext text/x-wiki {{Podstrona dokumentacji}} {{Szablony siostrzanych projektów}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> W porównaniu z szablonem {{s|Wikipedia}} umożliwia dodanie więcej linków (dowolną liczbę) do artykułów w Wikipedii. == Użycie == == Opis parametrów == * {{Code|stronaX}} - tytuł strony w Wikipedii, * {{Code|dopełniaczX}} - wyświetlany tytuł linka. X to numer od 1 do do dowolnej liczby. Może być też para parametrów bez numeru, a jeżeli w niej nie podano tytułu - tytuł wyświetlanej strony. == Przykład == {{Pre|{{s|Wikipedia2|strona1{{=}}Wikipedia|dopełniacz1{{=}}Wikipedia|strona2{{=}}Wikibooks|dopełniacz2{{=}}Wirtualne podręczniki|strona3{{=}}Wikinews|dopełniacz3{{=}}Wikinews}}}} {{Wikipedia2|strona1=Wikipedia|dopełniacz1=Wikipedia|strona2=Wikibooks|dopełniacz2=Wirtualne podręczniki|strona3=Wikinews|dopełniacz3=Wikinews}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Zobacz też == ; Te szablony dodają ramkę z odnośnikiem do strony w Wikipedii * {{s|Wikipedia}} - do hasła, * {{s|Wikipedia kat}} - do kategorii. {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów}} </includeonly> 71j7k1cmhp0cmn02tiuypemxl8mk26m Szablon:Commons ilustr kat 10 32569 437674 437648 2022-08-13T16:35:53Z Persino 2851 Persino przeniósł stronę [[Szablon:Commonsimgcat]] na [[Szablon:Commonsilustrkat]], bez pozostawienia przekierowania pod starym tytułem wikitext text/x-wiki {{Projekt siostrzany | projekt = commons | link = commons:Category:{{{1|{{PAGENAME}}}}} | tekst = Zobacz więcej ilustracji na&nbsp;Wikimedia&nbsp;Commons: <br>'''[{{fullurl:commons:Category:{{{1|{{PAGENAME}}}}}|uselang=pl}} {{{2|{{PAGENAME}}}}}]''' }}<noinclude>{{Dokumentacja}}</noinclude> nueki5le7mz1gg77972163jzllfwy57 Szablon:Siewki roślin uprawianych w Polsce/Commons 10 32694 437678 437647 2022-08-13T16:37:41Z Persino 2851 Zmiana elementu docelowego przekierowania z [[Szablon:Commonsimgcat]] na [[Szablon:Commonsilustrkat]] wikitext text/x-wiki #REDIRECT [[Szablon:Commonsilustrkat]] 7uq0nuhcsamcoz2678s84gbzmm43ic5 Szablon:Szablony siostrzanych projektów 10 33754 437673 437643 2022-08-13T16:34:16Z Persino 2851 wikitext text/x-wiki {{Szablon nawigacyjny | nazwa = Szablony siostrzanych projektów | tytuł = [[w:Wikipedia:Szablony/Linki#Siostrzane projekty|Szablony projektów siostrzanych]] | zwijanie = rozwinięte | szerokość = 30% | margines = 5px 0 5px 5px | grafika = {{ikona|infoszablon|35}} | opis1 = {{ikona|MediaWiki|10}} MediaWiki | spis1 = * {{s|MediaWiki}} | opis2 = {{ikona|Wikipedia|10}} Wikipedia | spis2 = * {{s|Wikipedia}} * {{s|Wikipedia kat}} * {{s|Wikipedia2}} | opis3 = {{ikona|Commons|10}} Commons | spis3 = * {{s|Commons}} * {{s|Commonsilustrkat}} * {{s|Commonsall}} * {{s|Commonscat}} * {{s|Wikiatlas}} | opis4 = {{ikona|wikicytaty|10}} Wikicytaty | spis4 = * {{s|Wikicytaty}} * {{s|Wikicytaty przysłowia}} | opis5 = {{ikona|inkubator|10}} Inkubator | spis5 = * {{s|Inkubator}} | opis6 = {{ikona|meta|10}} Meta-Wiki | spis6 = * {{s|Meta}} | opis7 = {{ikona|wikinews|10}} Wikinews | spis7 = * {{s|Wikinews}} * {{s|Wikinewscat}} * {{s|Wikinewsy}} * {{s|Portal Wikinews}} | opis8 = {{ikona|wikisłownik|10}} Wikisłownik | spis8 = * {{s|Wikisłownik}} * {{s|Wikisłownik-cat}} | opis9 = {{ikona|Wikimedia|10}} Wikimedia | spis9 = * {{s|Wikimedia}} * {{s|Multiwmpl}} | opis10 = {{ikona|Wikipodróże|10}} Wikipodróże | spis10 = * {{s|Wikipodróże}} | opis11 = {{ikona|Wikispecies|10}} Wikispecies | spis11 = * {{s|Wikispecies}} | opis12 = {{ikona|Wikiźródła|10}} Wikiźródła | spis12 = * {{s|Multisource}} * {{s|Wikiźródła}} * {{s|Wikiźródła autor}} * {{s|Wikiźródła kat}} * {{s|Wikiźródła kuch kat}} * {{s|Wikiźródła krótki}} * {{s|Wikisource-lang}} | dół = * {{s|Projekt siostrzany}} * {{s|Siostrzane-linia}} * {{s|Siostrzane projekty}} * {{s|Portal siostrzane}} | kategoria = Wikibooks }} hhcjg2b0go8osnbfez7405pw221o6y7 Szablon:Atlas flory Polski/Commons 10 33970 437677 437646 2022-08-13T16:37:17Z Persino 2851 Zmiana elementu docelowego przekierowania z [[Szablon:Commonsimgcat]] na [[Szablon:Commonsilustrkat]] wikitext text/x-wiki #PATRZ [[Szablon:Commonsilustrkat]] ehu47rvapbq2u2yma8pw891rcprkg0e Moduł:StronicowyParser 828 34347 437689 437571 2022-08-13T20:14:19Z Persino 2851 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja) local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje") return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja); end; function p.PrzekierowanieDoStrony(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_modulu=PobierzParametr(1); local latki_modul=require("Module:Łatki"); return latki_modul.contentMatch{args={ [1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*", [2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*", [3]="^%s*#TAM%s+%[%[(.+)%]%]%s*", namespace="", pagename=nazwa_modulu, }, }; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame); end; p["NastępnyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$"); local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local i=0; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]); if(czy_table)then artykul_w_bazie=artykul_w_bazie_element[1][1]; else artykul_w_bazie=artykul_w_bazie_element[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$"); artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end if(not naglowek)then artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie; end; local numer_artykulu_w_bazie; if(numer>0)then numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); end; local function Nastepny() if(not nazwa)then return artykul_z_naglowkiem_w_bazie; end; if(czy_table)then return artykul_w_bazie[1][2]; else return artykul_z_naglowkiem_w_bazie; end; end; if(i==1)then if(numer>0)then local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match))) and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu) ))then i=1; end; end; end; end; end; end; if(i==1)then return ""; end; return "(błąd)"; end; p["PoprzedniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$") local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local artykul; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]); if(czy_table)then artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1]; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$") artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then if(not artykul)then return "";end; local czy_table_artykul=parametry_modul.TypeTable(artykul); if(czy_table_artykul)then if(not nazwa)then if(naglowek)then return artykul[1]; end; artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1"); return artykul; else return artykul[2]; end; else if(naglowek)then return artykul; end; artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1"); return artykul; end; end if(numer>0)then local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then artykul=artykul_w_bazie[1]; end; else artykul=artykul_w_bazie[1]; end; end; end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; else return parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]); end; end; end; end; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; else ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1]; end; end; end; end; if(ostatni_artykul)then return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul; end; return "(błąd)"; end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil; if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame); if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element; end; local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local ktory=(tonumber(args["który"]) or 1); local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1]; if(not typ)then parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," "); end; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumer_2=nil; local tab_numer_2=nil; local tab_numer={}; local i=(not poziomowo) and 0 or nil; local i_2=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local poziom_spisu_tresci=nil; local pierwszy_dodatni_spis_tresci=nil; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; if(poziom_rozdzialu>0)then local czy_nie_ten_rozdzial=nil; local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; if(not czy_nie_ten_rozdzial)then if(poziomowo)then local hnumer=HNumer(poziom_rozdzialu); if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; else tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; end; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); ---- if(wartosc)then return wartosc;end; ---- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then HNumer_2=HNumer; HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then HNumer=HNumer_2; HNumer_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_dodatni_spis_tresci=false; end; else i=i+1; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); --- if(wartosc)then return wartosc;end; --- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then i_2=i; i=0; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then i=i_2; i_2=nil; pierwszy_dodatni_spis_tresci=false; end; end; end; end; end; end; p["PobierzNumerNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial) if(naglowek==rozdzial)then if(s==ktory)then if(poziomowo)then if(#tab_numer==0)then return;end; return table.concat(tab_numer,"."); else return i; end; end; s=s+1; end; end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false); end; p["PobierzNazwęNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial) if(poziomowo)then if(#tab_numer==0)then return;end; if(numer==table.concat(tab_numer,"."))then if(s==ktory)then return rozdzial; else s=s+1; end; end; elseif(numer==i)then if(s==ktory)then return rozdzial; else s=s+1; end; end end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true); end; local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek)and {} or nil; local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local tab_poziomowo={}; local tab_poziomowo_1={}; local tab_poziomowo_2={}; local html_modul=require("Module:Html"); local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1]))) ) or (typ and 1 or "Przykładowy artykuł"); local ktory=(tonumber(args["ktory"]) or 1); local i=(not poziomowo) and 1 or nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; --local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_3=nil local HNumerPoziomow_2=nil; local HNumerPoziomow_1=nil; local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow_1=nil; local HNumerPoziomowNaglowkow_2=nil; --local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tab_numer=poziomowo and {} or nil; tab_numer_1=nil; tab_numer_3=nil tab_numer_4=nil;--poziomowo and {} or nil; local spis=false; local czy_poziom_spisu_tresci=nil; local pierwszy_dodatni_naglowek=nil; local pierwszy_ujemny_naglowek=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local poprzedni_poziom_znakowy_rozdzialu=nil; local poprzedni_tab_poziomowo=nil; local poziom_pierwszego_dodatniego_naglowka=0; local poziom_pierwszego_ujemnego_naglowka=0; local poziom_zerowego_naglowka=0; local poziom_spisu_tresci_naglowka=0; local numer_poziomu=nil; local ostatni_rozdzial_dodatni=nil; local pierwszy_rozdzial_dodatni=nil; local glowny_dodatni_rozdzial=nil; local glowny_ujemny_rozdzial=nil; local spis_tresci=nil; local poziom_pierwszego_ujemnego_spisu_tresci=nil; local ostatni_poczatek_artykulu=nil; local pierwszy_rowny_rozdzial=nil; local prawdziwy_poziom_rozdzialu=nil; local artykuly_w_rozdziale=nil; local spis_tresci_zerowy; local poziom_zerowy; local rozdzial; if(poziomowo and tab_lista_artykulow_w_ksiazce[1])then rozdzial=tab_lista_artykulow_w_ksiazce[1][1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); spis_tresci_zerowy=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]; poziom_zerowy=tab_lista_artykulow_w_ksiazce[1][1][2][1]; end; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local tab_poprzedni_artykul_w_bazie=nil; local poziom_rozdzialu; local poziom_poczatku_rozdzialu=nil; local poziom_znakowy_rozdzialu=nil; local poziom_naglowka=nil; if(poziomowo)then poziom_rozdzialu=tab_lista[1][2][1]; prawdziwy_poziom_rozdzialu=poziom_rozdzialu; poziom_poczatku_rozdzialu=tab_lista[1][2][2]; if(m>1)then rozdzial=tab_lista[1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); end; tab_poziomowo={}; local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy))) and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]) local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; --if(not czy_nie_ten_rozdzial)then poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu; poziom_znakowy_rozdzialu=poziom_rozdzialu; poziom_rozdzialu=math.abs(poziom_rozdzialu); artykuly_w_rozdziale=nil; if(poziom_znakowy_rozdzialu>0)then poziom_naglowka=poziom_rozdzialu; poziom_pierwszego_ujemnego_spisu_tresci=nil; poprzedni_tab_poziomowo=nil; poziom_zerowego_naglowka=0; if(glowny_ujemny_rozdzial)then HNumerPoziomow=HNumerPoziomow_4; HNumerPoziomow_4=nil; tab_numer=tab_numer_4; poziom_pierwszego_ujemnego_naglowka=nil; glowny_ujemny_rozdzial=nil; end; if(pierwszy_ujemny_spis_tresci)then HNumerPoziomow=HNumerPoziomow_2; HNumerPoziomow_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_ujemny_spis_tresci=nil; czy_poziom_ujemny_spisu_tresci=nil; end; if(not glowny_dodatni_rozdzial)then if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); spis_tresci=true; else if(not pierwszy_rozdzial_dodatni)then pierwszy_rozdzial_dodatni=1; numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu); end; end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); glowny_dodatni_rozdzial=false; end; ostatni_rozdzial_dodatni=poziom_rozdzialu; elseif(poziom_znakowy_rozdzialu<0)then if(not pierwszy_rowny_rozdzial)then if((ostatni_poczatek_artykulu) and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(ostatni_poczatek_artykulu,"^*")) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:")) )then poziom_rozdzialu=poziom_rozdzialu+1; poziom_znakowy_rozdzialu=-poziom_rozdzialu; pierwszy_rowny_rozdzial=1; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; else poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; else if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu) )then pierwszy_rowny_rozdzial=0;end; poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial; poziom_znakowy_rozdzialu=-poziom_rozdzialu; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; if(not glowny_ujemny_rozdzial)then --if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then -- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); -- spis_tresci=true; --else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka); --end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,1); glowny_ujemny_rozdzial=false; end; else if((m>1)or((m==1)and(not czy_jest_teraz_spis_tresci)))then poziom_zerowego_naglowka=1; numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0); poziom_znakowy_rozdzialu=-1; poziom_rozdzialu=1; poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0; else poziom_zerowego_naglowka=0; numer_rozdzialu=0; poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0; end; end; local numer; if(poziom_znakowy_rozdzialu>0)then local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu); --HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); elseif(poziom_znakowy_rozdzialu<0)then --local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu); end; if((m>1) and(tab_lista_artykulow_w_ksiazce[m-1]) and(tab_lista_artykulow_w_ksiazce[m-1][2]) and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0) and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0) )then local lens_tab_numer=#tab_numer; local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer; roznica=((roznica>0) and roznica or 0); for i=1,roznica,1 do tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i]; end; end; if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if(poziom_znakowy_rozdzialu>0)then poziom_spisu_tresci_naglowka=poziom_rozdzialu; else poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu; end; end; if(poziom_rozdzialu>0)then if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0))) and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu) )then if(poziom_znakowy_rozdzialu>0)then tab_numer=tab_numer_1; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_1; HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1; czy_poziom_dodatni_spisu_tresci=false; elseif(poziom_znakowy_rozdzialu<0)then tab_numer=tab_numer_2; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_2; --HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2; czy_poziom_ujemny_spisu_tresci=false; pierwszy_ujemny_spis_tresci=nil; end; end; local hnumer=numer_rozdzialu; if(poprzedni_tab_poziomowo)then local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer); local len_tab_numer=#tab_numer; for i=1,lens,1 do tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i]; end; for i=lens+1,#tab_numer do tab_numer[len_tab_numer+i]=nil; end; end; if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; else tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; end; else --[[if(poziom_rozdzialu==0)then if(tab_lista_artykulow_w_ksiazce[m+1])then if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then tab_numer={0,}; elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then tab_numer={}; end; else tab_numer={}; end; end;]] end; --end; if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then function Poziom_dodatni() for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(s>m)then if(tab_lista[1][2][1]>0)then if(math.abs(tab_lista[1][2][1])>poziom_rozdzialu)then return true; else return false; end; end; end; end; return true; end; local id=nil; if(tab_lista_artykulow_w_ksiazce[m][2])then for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do id=tab_lista_artykulow_w_ksiazce[m][2][p][4]; if(id)then break; end; end; end; if((poziom_znakowy_rozdzialu>0)and((id)or(Poziom_dodatni())))then tab_poziomowo_1=tab_poziomowo; tab_poziomowo={}; czy_poziom_dodatni_spisu_tresci=true; HNumerPoziomow_1=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_1=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((poziom_znakowy_rozdzialu<0) and((id)or((tab_lista_artykulow_w_ksiazce[m+1]) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu))))then tab_poziomowo_2=tab_poziomowo; tab_poziomowo={}; czy_poziom_ujemny_spisu_tresci=true; HNumerPoziomow_2=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; --HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_ujemny_spis_tresci=true; end; end; local function OTakimSamymLubMniejszymPoziomie(m) if(poziom_rozdzialu==0)then return true;end; local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce); if(m==lens)then return true;end; if(poziom_znakowy_rozdzialu>0)then for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]>0)then if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])<=poziom_rozdzialu)then return true; end; end; end; end; elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]>0)))and(poziom_znakowy_rozdzialu<0))then if(tab_lista[2])then for p,artykul_w_bazie in ipairs(tab_lista[2])do local poziom_artykulu=artykul_w_bazie[2][1]; if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then return true; end; end; end; local poziom_zerowego_naglowka_innego=0; for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]<=0)then local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1]; if(ile==0)then if((czy_jest_teraz_spis_tresci)and(m==1))then poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka; else poziom_zerowego_naglowka_innego=1; end; end; if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then return true; end; else break; end; end; end; else return true; end; end; -- if(not czy_nie_ten_rozdzial)then if((tab_lista[2]) and(tab_lista[2][1]) and(tab_lista[2][1][2][1]==0) and(not tab_lista[2][1][4]) and(tab_lista_artykulow_w_ksiazce[m+1]) and(((poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( ((poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])+poziom_zerowego_naglowka>poziom_rozdzialu) ) )or( (poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]~=0) )) )then if(m==1)then tab_numer={0,} else table.insert(tab_numer,0); end; elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0))then tab_numer={0,} elseif((poziomowo)and(m==2)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]==0))then if(poprzedni_tab_poziomowo)then local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo); for i=#poprzedni_tab_poziomowo,min+1,-1 do table.remove(poprzedni_tab_poziomowo,i) end; tab_numer=poprzedni_tab_poziomowo; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; end; elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then if(poziom_rozdzialu>0)then if(not OTakimSamymLubMniejszymPoziomie(m))then if(poziom_znakowy_rozdzialu>0)then HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_3=tab_numer; tab_numer={0,}; HNumerPoziomow_3=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); pierwszy_dodatni_naglowek=true; poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu; glowny_dodatni_rozdzial=true; else tab_numer_4=tab_numer; tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer); tab_numer[#tab_numer]=nil; HNumerPoziomow_4=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); if(poziom_naglowka or 0>0)then HNumerPoziomow(poziom_naglowka,#tab_numer); end; pierwszy_ujemny_naglowek=true; poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu; glowny_ujemny_rozdzial=true; end; else if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end; end; end; elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then if((not spis)and(poziom_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )) )then tab_numer={0,}; spis=true; end elseif((tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )--[[or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )]]) )then table.insert(tab_numer,0); end; -- end; end; if(tab_lista[2])then local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0; local HNumerB=nil; local poprzedni_poziom_artykulu=nil; local czy_ma_elementy=nil; local poziom_poprzedni_artykulu=nil; for p,artykul_w_bazie in ipairs(tab_lista[2])do local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; if(naglowek or not tab_artykul[artykul])then pierwszy_rowny_rozdzial=nil; czy_ma_elementy=true; if(not naglowek)then tab_artykul[artykul]=true; end; local tab_artykul_w_bazie; if(poziomowo)then local poziom_artykulu=artykul_w_bazie[2][1]; local poziom_poczatku_artykulu=artykul_w_bazie[2][2]; local w_rozdziale=artykul_w_bazie[2][4]; if(w_rozdziale)then if((w_rozdziale)and(not tab_lista[2][p+1]))then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,artykul,tab_numer,{}); if(wartosc)then return wartosc;end; end; function Dalej() for s,artykul_w_bazie in ipairs(tab_lista[2])do if(s>p)then if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then return true; end; end; end; return false; end; if(Dalej())then tab_numer[#tab_numer+1]=0; artykuly_w_rozdziale=true; end; elseif(artykuly_w_rozdziale)then artykuly_w_rozdziale=nil; table.remove(tab_numer,#tab_numer); tab_poziomowo={}; end; ostatni_poczatek_artykulu=poziom_poczatku_artykulu; local function ToNumberPoziomArtykulu(poziom_artykulu) local numer=tonumber(poziom_artykulu) or 1; if(numer<1)then numer=1;end; return numer; end; poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu); local poziom_czysty_artykulu=poziom_artykulu; poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu) and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu) and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*")) and((mw.ustring.match(poziom_poczatku_artykulu,"^:")) or (mw.ustring.match(poziom_poczatku_artykulu,"^#")) ) )then poziom_artykulu=poziom_artykulu+1; poziom_czysty_artykulu=poziom_czysty_artykulu+1; end; local numer_poziomu=HNumerPoziomow(poziom_artykulu); if(p>1)then local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1; local id_poprzednie=tab_lista[2][p-1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; tab_poziomowo={}; end; end; end; local prefix_poziom_artykulu=poziom_artykulu; local b=0; local tab_artykul_w_bazie=mw.text.split(artykul,"/"); if(tab_poprzedni_artykul_w_bazie)then if(poprzedni_poziom_artykulu)then if(poprzedni_poziom_artykulu==poziom_artykulu)then for c=1,#tab_artykul_w_bazie,1 do local podstrona_artykul=tab_artykul_w_bazie[c]; local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c]; if(podstrona_artykul==podstrona_nazwy_artykulu)then b=b+1; end; end; else b=0; end; end; if(poziom_znakowy_rozdzialu<0)then if(#tab_numer~=0)then if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then tab_poziomowo=tab_numer_4; tab_numer={}; HNumerArtykulu=HNumerPoziomow_4; elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); for i=#tab_poziomowo,numer_poziomu+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1; tab_poziomowo=tab_numer; tab_numer={}; elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu) and((numer_poziomu<numer_rozdzialu) or((numer_poziomu==numer_rozdzialu) and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu) )) ))then local tab_numer2={}; for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do tab_numer2[i]=tab_numer[i]; end; local tab_poziomowo2={}; for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i]; end; local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka)); for i=1,numer_poziomu,1 do tab_poziomowo2[i+indeks]=tab_poziomowo[i]; end; tab_numer=tab_numer2; tab_poziomowo=tab_poziomowo2; --[[tab_poziomowo=tab_numer; tab_numer={};]] HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1); end; end; end; elseif(#tab_numer>numer_poziomu)then tab_poziomowo={}; tab_poziomowo[1]=tab_numer[numer_poziomu]; for i=#tab_numer,numer_poziomu,-1 do table.remove(tab_numer,i); end; elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka; if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then if(#tab_numer>=numer_rozdzialu_dodatniego)then local tab_numer2={}; for i=1,numer_rozdzialu_dodatniego,1 do tab_numer2[i]=tab_numer[i]; end; tab_poziomowo={}; for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i]; end; tab_numer=tab_numer2; end; end; end; poprzedni_poziom_artykulu=poziom_artykulu; local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial); if((p==1)and(czy_z_rozdzialem))then b=1;end; czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem); local dodatek=b-((czy_tytul_rozdzial)and 0 or 1); dodatek=((dodatek>0)and dodatek or 0); if((poziomowo)and(poziom_znakowy_rozdzialu<0))then if(poziom_naglowka>=poziom_artykulu)then local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0)); end; end; local stala=poziom_artykulu; local numer_poziomu=HNumerPoziomu(stala); poziom_artykulu=stala+dodatek; local numer=HNumerArtykulu(poziom_artykulu); local roznica=numer_poziomu-numer; if(roznica>0)then numer=HNumerArtykulu(poziom_artykulu,numer_poziomu); end; if(#tab_poziomowo<numer)then for i=#tab_poziomowo+1,numer,1 do table.insert(tab_poziomowo,1); end; else if(#tab_poziomowo>numer)then for i=#tab_poziomowo,numer+1,-1 do table.remove(tab_poziomowo,i); end; end; tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1; end; tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie; poziom_poprzedni_artykulu=poziom_artykulu; end; local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo); if(poziomowo)then if(tab_lista[2][p+1])then local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1; local id_nastepny=tab_lista[2][p+1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],}; for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do table.remove(tab_numer,i); end; end; end; poprzedni_tab_poziomowo=tab_poziomowo; end; if(wartosc)then return wartosc;end; if(not poziomowo)then i=i+1; end; end; end; if(not czy_ma_elementy)then poprzedni_tab_poziomowo=nil; if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end; end; else poprzedni_tab_poziomowo=nil; if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end; end; end; return; end; p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local s=1; local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo) if((not poziomowo)and(i==numer))then if(s==ktory)then return artykul; else s=s+1; end; elseif(poziomowo)then if((table.concat(tab_numer,".") ..((#tab_numer>0) and "." or "") ..table.concat(tab_poziomowo,"."))==numer)then if(s==ktory)then return artykul; else s=s+1; end; end; end; end; return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true); end; p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo) if(nazwa_artykulu==artykul)then if(s==ktory)then if(poziomowo)then return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,".")); else return i; end; end; s=s+1; end; end; return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false); end; p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json) local tab_dane_ksiazki=nil; local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo) if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end; if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end; local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or ""; repeat numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","") until not mw.ustring.match(numer_rozdzialu,"%.0$"); if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then tab_dane_ksiazki[rozdzial][numer_rozdzialu]={}; end; if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={}; end; local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or ""; if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={}; end; table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s); s=s+1; return false; end; PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true); return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki; end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(type(artykul_w_bazie[1])~="table")then if(artykul_w_bazie[1]==nazwa_artykulu)then return artykul_w_bazie[1]; end; elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1]; if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local techniczne_modul=require("Module:Techniczne"); local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(uzupelniaj_sekcje_artykulow)then if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; if(numer_rozdzialu>0)then if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "") ..linki_modul["Link wewnętrzny"]{ ["strona"]=pelna_nazwa_ksiazki, ["nagłówek"]=rozdzial, ["nazwa"]=rozdzial, ["bez znaczników"]=args["bez znaczników"], ["bez przetwarzania"]=args["bez przetwarzania"], }; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu; if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu; end; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local techniczne_modul=require("Module:Techniczne"); local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony); return frame:expandTemplate{title=szablon,args={},}; end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; return str; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {}; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," "); local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:SG/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local p=frame.args["wyspecjalizowana"] and frame or frame:getParent(); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]); local id2,_=mw.ustring.gsub(naglowek,"^[%s_]",""); id2,_=mw.ustring.gsub(id2,"[%s_]$",""); id2,_=mw.ustring.gsub(id2,"[%s_]","_"); local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)","."); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {}; local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; local czy_nie_aktualny=( (nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki) or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza); local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; function p.WykazModolow(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni]; if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end; local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki]; if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end; local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis; if(not spis)then return nil;end; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local wysokosc=frame.args["wysokość"]; local wykaz_modolow_w_liscie=""; local i=1; for _,tab_artykul in ipairs(spis)do if(tab_artykul[2])then for _,tab_pozycja in ipairs(tab_artykul[2])do if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," "); else sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>'; else wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; if(wykaz_modolow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>"; wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>"; wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie); return rozwiniety_wikikod; end; function p.NazwaModolu() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; function p.Wstep_do_licencji(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>'; end; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>'; menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then return licencja[1]; end; end; function p.PierwszaStrona(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; function p.SpisTresci(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1]; local nazwa_ksiazki=args["książka"] or args[2]; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki); local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki); nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki); local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu); local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony; local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony); local nazwa=args["nazwa"] or args[3]; local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," "); local dodatek=args["dodatek"] or args[4]; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n"; else return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}"); end; else local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or ""); twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n"; local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektow; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$",""); local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic) if(czy_wymusic)then local nazwy_modul=require("Module:Nazwy"); local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"](); if(pelnanazwastrony~=pelnanazwastronyaktualnej)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil); end; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; return ""; end; return p; jm20libo7ehcsrq07a72trp97tve2fd 437691 437689 2022-08-13T21:39:44Z Persino 2851 Scribunto text/plain local p = {} function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja) local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje") return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja); end; function p.PrzekierowanieDoStrony(frame) local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local nazwa_modulu=PobierzParametr(1); local latki_modul=require("Module:Łatki"); return latki_modul.contentMatch{args={ [1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*", [2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*", [3]="^%s*#TAM%s+%[%[(.+)%]%]%s*", namespace="", pagename=nazwa_modulu, }, }; end; p["TekstRozdziałuStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame); end; p["KtóraSekcjaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame); end; p["ZwróćSekcjęNagłówkaStrony"]=function(frame) local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały"); return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame); end; p["NastępnyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$"); local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local i=0; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]); if(czy_table)then artykul_w_bazie=artykul_w_bazie_element[1][1]; else artykul_w_bazie=artykul_w_bazie_element[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$"); artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end if(not naglowek)then artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie; end; local numer_artykulu_w_bazie; if(numer>0)then numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); end; local function Nastepny() if(not nazwa)then return artykul_z_naglowkiem_w_bazie; end; if(czy_table)then return artykul_w_bazie[1][2]; else return artykul_z_naglowkiem_w_bazie; end; end; if(i==1)then if(numer>0)then local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer); if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then return Nastepny(); end; else return Nastepny(); end; else if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match))) and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu) ))then i=1; end; end; end; end; end; end; if(i==1)then return ""; end; return "(błąd)"; end; p["PoprzedniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local numer=tonumber(args[1]) or 0; local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$") local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu; local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil; local artykul; local tab_artykul={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie; local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]); if(czy_table)then artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1]; else artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1]; end; local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$") artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie; if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then if(not naglowek)then tab_artykul[artykul_bez_naglowka_w_bazie]=true; end; if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek) or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then if(not artykul)then return "";end; local czy_table_artykul=parametry_modul.TypeTable(artykul); if(czy_table_artykul)then if(not nazwa)then if(naglowek)then return artykul[1]; end; artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1"); return artykul; else return artykul[2]; end; else if(naglowek)then return artykul; end; artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1"); return artykul; end; end if(numer>0)then local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie); local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer); if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then artykul=artykul_w_bazie[1]; end; else artykul=artykul_w_bazie[1]; end; end; end; end; end; return "(błąd)"; end; p["PoziomNazwyArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu); end; p["PierwszyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; else return parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]); end; end; end; end; end; p["OstatniArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(not nazwa)then ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1]; else ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1]; end; end; end; end; if(ostatni_artykul)then return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul; end; return "(błąd)"; end; p["PomiędzyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil; if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element); end; p["LosowyArtykuł"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame); if(not val)then return "(błąd)";end; local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame); if(not element)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local nazwa=parametry_modul.CzyTak(args["nazwa"]); local czy_table=parametry_modul.TypeTable(element); local element=czy_table and element[1] or element; if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end; return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element; end; local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local ktory=(tonumber(args["który"]) or 1); local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1]; if(not typ)then parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$",""); parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," "); end; local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumer_2=nil; local tab_numer_2=nil; local tab_numer={}; local i=(not poziomowo) and 0 or nil; local i_2=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local poziom_spisu_tresci=nil; local pierwszy_dodatni_spis_tresci=nil; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; if(poziom_rozdzialu>0)then local czy_nie_ten_rozdzial=nil; local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; if(not czy_nie_ten_rozdzial)then if(poziomowo)then local hnumer=HNumer(poziom_rozdzialu); if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; else tab_numer[#tab_numer]=tab_numer[#tab_numer]+1; end; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); ---- if(wartosc)then return wartosc;end; ---- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then HNumer_2=HNumer; HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then HNumer=HNumer_2; HNumer_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_dodatni_spis_tresci=false; end; else i=i+1; ---- local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial); --- if(wartosc)then return wartosc;end; --- if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then i_2=i; i=0; pierwszy_dodatni_spis_tresci=true; elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then i=i_2; i_2=nil; pierwszy_dodatni_spis_tresci=false; end; end; end; end; end; end; p["PobierzNumerNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial) if(naglowek==rozdzial)then if(s==ktory)then if(poziomowo)then if(#tab_numer==0)then return;end; return table.concat(tab_numer,"."); else return i; end; end; s=s+1; end; end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false); end; p["PobierzNazwęNagłówka"]=function(frame) local s=1; local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial) if(poziomowo)then if(#tab_numer==0)then return;end; if(numer==table.concat(tab_numer,"."))then if(s==ktory)then return rozdzial; else s=s+1; end; end; elseif(numer==i)then if(s==ktory)then return rozdzial; else s=s+1; end; end end; return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true); end; local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local parametry_modul=require("Module:Parametry"); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek)and {} or nil; local poziomowo=parametry_modul.CzyTak(args["poziomowo"]); local tab_poziomowo={}; local tab_poziomowo_1={}; local tab_poziomowo_2={}; local html_modul=require("Module:Html"); local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1]))) ) or (typ and 1 or "Przykładowy artykuł"); local ktory=(tonumber(args["ktory"]) or 1); local i=(not poziomowo) and 1 or nil; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; --local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil; local HNumerPoziomow_3=nil local HNumerPoziomow_2=nil; local HNumerPoziomow_1=nil; local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomowNaglowkow_1=nil; local HNumerPoziomowNaglowkow_2=nil; --local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tab_numer=poziomowo and {} or nil; tab_numer_1=nil; tab_numer_3=nil tab_numer_4=nil;--poziomowo and {} or nil; local spis=false; local czy_poziom_spisu_tresci=nil; local pierwszy_dodatni_naglowek=nil; local pierwszy_ujemny_naglowek=nil; local juz_nie_rozwazaj_spisu_tresci=nil; local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil; local poprzedni_poziom_znakowy_rozdzialu=nil; local poprzedni_tab_poziomowo=nil; local poziom_pierwszego_dodatniego_naglowka=0; local poziom_pierwszego_ujemnego_naglowka=0; local poziom_zerowego_naglowka=0; local poziom_spisu_tresci_naglowka=0; local numer_poziomu=nil; local ostatni_rozdzial_dodatni=nil; local pierwszy_rozdzial_dodatni=nil; local glowny_dodatni_rozdzial=nil; local glowny_ujemny_rozdzial=nil; local spis_tresci=nil; local poziom_pierwszego_ujemnego_spisu_tresci=nil; local ostatni_poczatek_artykulu=nil; local pierwszy_rowny_rozdzial=nil; local prawdziwy_poziom_rozdzialu=nil; local artykuly_w_rozdziale=nil; local spis_tresci_zerowy; local poziom_zerowy; local rozdzial; if(poziomowo and tab_lista_artykulow_w_ksiazce[1])then rozdzial=tab_lista_artykulow_w_ksiazce[1][1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); spis_tresci_zerowy=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]; poziom_zerowy=tab_lista_artykulow_w_ksiazce[1][1][2][1]; end; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local tab_poprzedni_artykul_w_bazie=nil; local poziom_rozdzialu; local poziom_poczatku_rozdzialu=nil; local poziom_znakowy_rozdzialu=nil; local poziom_naglowka=nil; if(poziomowo)then poziom_rozdzialu=tab_lista[1][2][1]; prawdziwy_poziom_rozdzialu=poziom_rozdzialu; poziom_poczatku_rozdzialu=tab_lista[1][2][2]; if(m>1)then rozdzial=tab_lista[1][1]; rozdzial,_=mw.ustring.gsub(rozdzial,"'+",""); end; tab_poziomowo={}; local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy))) and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]) local czy_nie_ten_rozdzial; if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then poziom_spisu_tresci=poziom_rozdzialu; juz_nie_rozwazaj_rozdzialu_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if((poziom_spisu_tresci<poziom_rozdzialu))then czy_nie_ten_rozdzial=false; else juz_nie_rozwazaj_spisu_tresci=true; czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; else czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial]; end; --if(not czy_nie_ten_rozdzial)then poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu; poziom_znakowy_rozdzialu=poziom_rozdzialu; poziom_rozdzialu=math.abs(poziom_rozdzialu); artykuly_w_rozdziale=nil; if(poziom_znakowy_rozdzialu>0)then poziom_naglowka=poziom_rozdzialu; poziom_pierwszego_ujemnego_spisu_tresci=nil; poprzedni_tab_poziomowo=nil; poziom_zerowego_naglowka=0; if(glowny_ujemny_rozdzial)then HNumerPoziomow=HNumerPoziomow_4; HNumerPoziomow_4=nil; tab_numer=tab_numer_4; poziom_pierwszego_ujemnego_naglowka=nil; glowny_ujemny_rozdzial=nil; end; if(pierwszy_ujemny_spis_tresci)then HNumerPoziomow=HNumerPoziomow_2; HNumerPoziomow_2=nil; tab_numer=tab_numer_2; tab_numer_2=nil; pierwszy_ujemny_spis_tresci=nil; czy_poziom_ujemny_spisu_tresci=nil; end; if(not glowny_dodatni_rozdzial)then if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); spis_tresci=true; else if(not pierwszy_rozdzial_dodatni)then pierwszy_rozdzial_dodatni=1; numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu); end; end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); glowny_dodatni_rozdzial=false; end; ostatni_rozdzial_dodatni=poziom_rozdzialu; elseif(poziom_znakowy_rozdzialu<0)then if(not pierwszy_rowny_rozdzial)then if((ostatni_poczatek_artykulu) and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(ostatni_poczatek_artykulu,"^*")) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:")) )then poziom_rozdzialu=poziom_rozdzialu+1; poziom_znakowy_rozdzialu=-poziom_rozdzialu; pierwszy_rowny_rozdzial=1; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; else poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; else if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu) and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu) )then pierwszy_rowny_rozdzial=0;end; poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial; poziom_znakowy_rozdzialu=-poziom_rozdzialu; poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; end; if(not glowny_ujemny_rozdzial)then --if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then -- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1); -- spis_tresci=true; --else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka); --end; else numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,1); glowny_ujemny_rozdzial=false; end; else if((m>1)or((m==1)and(not czy_jest_teraz_spis_tresci)))then poziom_zerowego_naglowka=1; numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0); poziom_znakowy_rozdzialu=-1; poziom_rozdzialu=1; poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0; else poziom_zerowego_naglowka=0; numer_rozdzialu=0; poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0; end; end; local numer; if(poziom_znakowy_rozdzialu>0)then local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu); --HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); elseif(poziom_znakowy_rozdzialu<0)then --local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu); end; if((m>1) and(tab_lista_artykulow_w_ksiazce[m-1]) and(tab_lista_artykulow_w_ksiazce[m-1][2]) and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0) and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0) )then local lens_tab_numer=#tab_numer; local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer; roznica=((roznica>0) and roznica or 0); for i=1,roznica,1 do tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i]; end; end; if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then if(poziom_znakowy_rozdzialu>0)then poziom_spisu_tresci_naglowka=poziom_rozdzialu; else poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu; end; end; if(poziom_rozdzialu>0)then if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0))) and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu) )then if(poziom_znakowy_rozdzialu>0)then tab_numer=tab_numer_1; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_1; HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1; czy_poziom_dodatni_spisu_tresci=false; elseif(poziom_znakowy_rozdzialu<0)then tab_numer=tab_numer_2; tab_poziomowo={}; poziom_spisu_tresci=nil; HNumerPoziomow=HNumerPoziomow_2; --HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2; czy_poziom_ujemny_spisu_tresci=false; pierwszy_ujemny_spis_tresci=nil; end; end; local hnumer=numer_rozdzialu; if(poprzedni_tab_poziomowo)then local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer); local len_tab_numer=#tab_numer; for i=1,lens,1 do tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i]; end; for i=lens+1,#tab_numer do tab_numer[len_tab_numer+i]=nil; end; end; if(#tab_numer<hnumer)then for i=#tab_numer+1,hnumer,1 do table.insert(tab_numer,1); end; elseif(#tab_numer>hnumer)then for i=#tab_numer, hnumer+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; else tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1; end; else --[[if(poziom_rozdzialu==0)then if(tab_lista_artykulow_w_ksiazce[m+1])then if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then tab_numer={0,}; elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then tab_numer={}; end; else tab_numer={}; end; end;]] end; --end; if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then function Poziom_dodatni() for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(s>m)then if(tab_lista[1][2][1]>0)then if(math.abs(tab_lista[1][2][1])>poziom_rozdzialu)then return true; else return false; end; end; end; end; return true; end; local id=nil; if(tab_lista_artykulow_w_ksiazce[m][2])then for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do id=tab_lista_artykulow_w_ksiazce[m][2][p][4]; if(id)then break; end; end; end; if((poziom_znakowy_rozdzialu>0)and((id)or(Poziom_dodatni())))then tab_poziomowo_1=tab_poziomowo; tab_poziomowo={}; czy_poziom_dodatni_spisu_tresci=true; HNumerPoziomow_1=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_1=tab_numer; tab_numer={}; pierwszy_dodatni_spis_tresci=true; elseif((poziom_znakowy_rozdzialu<0) and((id)or((tab_lista_artykulow_w_ksiazce[m+1]) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu))))then tab_poziomowo_2=tab_poziomowo; tab_poziomowo={}; czy_poziom_ujemny_spisu_tresci=true; HNumerPoziomow_2=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; --HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_2=tab_numer; tab_numer={}; pierwszy_ujemny_spis_tresci=true; end; end; local function OTakimSamymLubMniejszymPoziomie(m) if(poziom_rozdzialu==0)then return true;end; local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce); if(m==lens)then return true;end; if(poziom_znakowy_rozdzialu>0)then for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]>0)then if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])<=poziom_rozdzialu)then return true; end; end; end; end; elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]>0)))and(poziom_znakowy_rozdzialu<0))then if(tab_lista[2])then for p,artykul_w_bazie in ipairs(tab_lista[2])do local poziom_artykulu=artykul_w_bazie[2][1]; if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then return true; end; end; end; local poziom_zerowego_naglowka_innego=0; for k=m+1,lens,1 do if(tab_lista_artykulow_w_ksiazce[k])then if(tab_lista_artykulow_w_ksiazce[k][1][2][1]<=0)then local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1]; if(ile==0)then if((czy_jest_teraz_spis_tresci)and(m==1))then poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka; else poziom_zerowego_naglowka_innego=1; end; end; if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1])+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then return true; end; else break; end; end; end; else return true; end; end; -- if(not czy_nie_ten_rozdzial)then if((tab_lista[2]) and(tab_lista[2][1]) and(tab_lista[2][1][2][1]==0) and(not tab_lista[2][1][4]) and(tab_lista_artykulow_w_ksiazce[m+1]) and(((poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( ((poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])+poziom_zerowego_naglowka>poziom_rozdzialu) ) )or( (poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]~=0) )) )then if(m==1)then tab_numer={0,} else table.insert(tab_numer,0); end; elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0))then tab_numer={}; elseif((poziomowo)and(m==1)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0))then tab_numer={0,} elseif((poziomowo)and(m==2)and(poziom_zerowego_naglowka==0)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and(tab_lista_artykulow_w_ksiazce[m-1][1][2][1]==0))then if(poprzedni_tab_poziomowo)then local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo); for i=#poprzedni_tab_poziomowo,min+1,-1 do table.remove(poprzedni_tab_poziomowo,i) end; tab_numer=poprzedni_tab_poziomowo; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; end; elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then if(poziom_rozdzialu>0)then if(not OTakimSamymLubMniejszymPoziomie(m))then if(poziom_znakowy_rozdzialu>0)then HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow; HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); tab_numer_3=tab_numer; tab_numer={0,}; HNumerPoziomow_3=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); pierwszy_dodatni_naglowek=true; poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu; glowny_dodatni_rozdzial=true; else tab_numer_4=tab_numer; tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer); tab_numer[#tab_numer]=nil; HNumerPoziomow_4=HNumerPoziomow; HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer(); if(poziom_naglowka or 0>0)then HNumerPoziomow(poziom_naglowka,#tab_numer); end; pierwszy_ujemny_naglowek=true; poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu; glowny_ujemny_rozdzial=true; end; else if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end; end; end; elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then if((not spis)and(poziom_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )) )then tab_numer={0,}; spis=true; end elseif((tab_lista_artykulow_w_ksiazce[m+1]) and(( (poziom_znakowy_rozdzialu>0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]>0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )--[[or( (poziom_znakowy_rozdzialu<0) and(tab_lista_artykulow_w_ksiazce[m+1][1][2][1]<0) and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1])>poziom_rozdzialu) )]]) )then table.insert(tab_numer,0); end; -- end; end; if(tab_lista[2])then local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0; local HNumerB=nil; local poprzedni_poziom_artykulu=nil; local czy_ma_elementy=nil; local poziom_poprzedni_artykulu=nil; for p,artykul_w_bazie in ipairs(tab_lista[2])do local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1]; artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul; if(naglowek or not tab_artykul[artykul])then pierwszy_rowny_rozdzial=nil; czy_ma_elementy=true; if(not naglowek)then tab_artykul[artykul]=true; end; local tab_artykul_w_bazie; if(poziomowo)then local poziom_artykulu=artykul_w_bazie[2][1]; local poziom_poczatku_artykulu=artykul_w_bazie[2][2]; local w_rozdziale=artykul_w_bazie[2][4]; if(w_rozdziale)then if((w_rozdziale)and(not tab_lista[2][p+1]))then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{}); if(wartosc)then return wartosc;end; end; function Dalej() for s,artykul_w_bazie in ipairs(tab_lista[2])do if(s>p)then if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then return true; end; end; end; return false; end; if(Dalej())then tab_numer[#tab_numer+1]=0; artykuly_w_rozdziale=true; end; elseif(artykuly_w_rozdziale)then artykuly_w_rozdziale=nil; table.remove(tab_numer,#tab_numer); tab_poziomowo={}; end; ostatni_poczatek_artykulu=poziom_poczatku_artykulu; local function ToNumberPoziomArtykulu(poziom_artykulu) local numer=tonumber(poziom_artykulu) or 1; if(numer<1)then numer=1;end; return numer; end; poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu); local poziom_czysty_artykulu=poziom_artykulu; poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka; if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu) and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu) and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu) and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*")) and((mw.ustring.match(poziom_poczatku_artykulu,"^:")) or (mw.ustring.match(poziom_poczatku_artykulu,"^#")) ) )then poziom_artykulu=poziom_artykulu+1; poziom_czysty_artykulu=poziom_czysty_artykulu+1; end; local numer_poziomu=HNumerPoziomow(poziom_artykulu); if(p>1)then local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1; local id_poprzednie=tab_lista[2][p-1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1; tab_poziomowo={}; end; end; end; local prefix_poziom_artykulu=poziom_artykulu; local b=0; local tab_artykul_w_bazie=mw.text.split(artykul,"/"); if(tab_poprzedni_artykul_w_bazie)then if(poprzedni_poziom_artykulu)then if(poprzedni_poziom_artykulu==poziom_artykulu)then for c=1,#tab_artykul_w_bazie,1 do local podstrona_artykul=tab_artykul_w_bazie[c]; local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c]; if(podstrona_artykul==podstrona_nazwy_artykulu)then b=b+1; end; end; else b=0; end; end; if(poziom_znakowy_rozdzialu<0)then if(#tab_numer~=0)then if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then tab_poziomowo=tab_numer_4; tab_numer={}; HNumerArtykulu=HNumerPoziomow_4; elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); for i=#tab_poziomowo,numer_poziomu+1,-1 do table.remove(tab_numer,i); end; tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1; tab_poziomowo=tab_numer; tab_numer={}; elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu) and((numer_poziomu<numer_rozdzialu) or((numer_poziomu==numer_rozdzialu) and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu) )) ))then local tab_numer2={}; for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do tab_numer2[i]=tab_numer[i]; end; local tab_poziomowo2={}; for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i]; end; local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka)); for i=1,numer_poziomu,1 do tab_poziomowo2[i+indeks]=tab_poziomowo[i]; end; tab_numer=tab_numer2; tab_poziomowo=tab_poziomowo2; --[[tab_poziomowo=tab_numer; tab_numer={};]] HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer(); --local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1); end; end; end; elseif(#tab_numer>numer_poziomu)then tab_poziomowo={}; tab_poziomowo[1]=tab_numer[numer_poziomu]; for i=#tab_numer,numer_poziomu,-1 do table.remove(tab_numer,i); end; elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka; if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then if(#tab_numer>=numer_rozdzialu_dodatniego)then local tab_numer2={}; for i=1,numer_rozdzialu_dodatniego,1 do tab_numer2[i]=tab_numer[i]; end; tab_poziomowo={}; for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i]; end; tab_numer=tab_numer2; end; end; end; poprzedni_poziom_artykulu=poziom_artykulu; local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial); if((p==1)and(czy_z_rozdzialem))then b=1;end; czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem); local dodatek=b-((czy_tytul_rozdzial)and 0 or 1); dodatek=((dodatek>0)and dodatek or 0); if((poziomowo)and(poziom_znakowy_rozdzialu<0))then if(poziom_naglowka>=poziom_artykulu)then local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0)); end; end; local stala=poziom_artykulu; local numer_poziomu=HNumerPoziomu(stala); poziom_artykulu=stala+dodatek; local numer=HNumerArtykulu(poziom_artykulu); local roznica=numer_poziomu-numer; if(roznica>0)then numer=HNumerArtykulu(poziom_artykulu,numer_poziomu); end; if(#tab_poziomowo<numer)then for i=#tab_poziomowo+1,numer,1 do table.insert(tab_poziomowo,1); end; else if(#tab_poziomowo>numer)then for i=#tab_poziomowo,numer+1,-1 do table.remove(tab_poziomowo,i); end; end; tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1; end; tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie; poziom_poprzedni_artykulu=poziom_artykulu; end; local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo); if(poziomowo)then if(tab_lista[2][p+1])then local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1; local id_nastepny=tab_lista[2][p+1][4]; local numer=tonumber(tab_lista[2][p][2][1]) or 1; local id=tab_lista[2][p][4]; if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],}; for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do table.remove(tab_numer,i); end; end; end; poprzedni_tab_poziomowo=tab_poziomowo; end; if(wartosc)then return wartosc;end; if(not poziomowo)then i=i+1; end; end; end; if(not czy_ma_elementy)then poprzedni_tab_poziomowo=nil; if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end; end; else poprzedni_tab_poziomowo=nil; if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end; end; end; return; end; p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local s=1; local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo) if((not poziomowo)and(i==numer))then if(s==ktory)then return artykul; else s=s+1; end; elseif(poziomowo)then if((table.concat(tab_numer,".") ..((#tab_numer>0) and "." or "") ..table.concat(tab_poziomowo,"."))==numer)then if(s==ktory)then return artykul; else s=s+1; end; end; end; end; return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true); end; p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki) local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo) if(nazwa_artykulu==artykul)then if(s==ktory)then if(poziomowo)then return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,".")); else return i; end; end; s=s+1; end; end; return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false); end; p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json) local tab_dane_ksiazki=nil; local s=1; local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo) if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end; if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end; local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or ""; repeat numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","") until not mw.ustring.match(numer_rozdzialu,"%.0$"); if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then tab_dane_ksiazki[rozdzial][numer_rozdzialu]={}; end; if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={}; end; local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or ""; if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={}; end; table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s); s=s+1; return false; end; PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true); return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki; end; p["SubNazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 0; local krok=tonumber(args[2])or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok); end; p["NazwaNadArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local args=stronicowyparser_potrzebne_modul:Args(frame); local numer=tonumber(args[1]) or 1; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer); end; p["NazwaLinkuArtykułu"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local ostatni_artykul; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do if(type(artykul_w_bazie[1])~="table")then if(artykul_w_bazie[1]==nazwa_artykulu)then return artykul_w_bazie[1]; end; elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then return artykul_w_bazie[1][2]; end; end; end; end; return "(błąd)"; end; p["LiczbaArtykułówKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykul=(not naglowek) and {} or nil; local i=0; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1]; local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu; if(naglowek or not tab_artykul[artykul])then if(not naglowek)then tab_artykul[artykul]=true; end; i=i+1; end; end; end; end; return i; end; p["LiniaArtykułuKsiążki"]=function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame); local parametry_modul=require("Module:Parametry"); local args=stronicowyparser_potrzebne_modul:Args(); local czy_analiza=parametry_modul.CzyTak(args["analiza"]); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do if(tab_lista[2])then for _,artykul_w_bazie in ipairs(tab_lista[2])do local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1]; if(artykul_ksiazki==nazwa_artykulu)then if(not czy_analiza)then return artykul_w_bazie[3]; else local function AnalizaLiniiArtykolow() local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})"); if(czy_spis_tresci)then local techniczne_modul=require("Module:Techniczne"); local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci); local nazwa_artykulu=parametry_szablony[1]; ------ local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]"; local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link); return linia2; else local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})"); if(czy_spis_tresci)then local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|"); return linia2; else local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local function adresuj_linki(a,b) return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]"; end; local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki); artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki); return artykul; end; end; end; return AnalizaLiniiArtykolow(); end end; end; end; end; local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]); if(uzupelniaj_sekcje_artykulow)then if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"); if(parametry_modul["CzyTakCiąg"](naglowek))then local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]"; end; end; end; end; p["AktualnaKsiążka"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["NazwaAktualnyArtykuł"]=function(frame,__error) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil); end; p["ListaNagłówkówKsiążki"] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame); stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame); local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame); if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end; local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty"); local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek; local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek; local czy_sa_rozdzialy=nil; local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame); local args=stronicowyparser_potrzebne_modul:Args(); local wikikod=""; local linki_modul=require("Module:Linki"); for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do local rozdzial=tab_lista[1][1]; local numer_rozdzialu=tab_lista[1][2][1]; if(numer_rozdzialu>0)then if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then wikikod=((wikikod~="")and (wikikod.." &nbsp;—&nbsp; ") or "") ..linki_modul["Link wewnętrzny"]{ ["strona"]=pelna_nazwa_ksiazki, ["nagłówek"]=rozdzial, ["nazwa"]=rozdzial, ["bez znaczników"]=args["bez znaczników"], ["bez przetwarzania"]=args["bez przetwarzania"], }; end; czy_sa_rozdzialy=true; end; end; if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end; return wikikod; end; p["ArtykułSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu; if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; else nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni; nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki; nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu; end; local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame); local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu"); local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki"); local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu); local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki); if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki; elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then return "(błąd)"; end; local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu; local techniczne_modul=require("Module:Techniczne"); local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony); return frame:expandTemplate{title=szablon,args={},}; end; p["KsiążkaSubst"] = function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]; return str; end; p["StronaSubst"] = function(frame) local parametry_modul=require("Module:Parametry"); local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {}; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"]; if(not tab_stronasubst)then return;end; local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," "); local tab_strona=tab_stronasubst[pierwszy]; if(not tab_strona)then return;end; local link=args["link"]; local czy_link=parametry_modul.CzyTak(link); local stronasubst=tab_strona[(czy_link and "tak" or "")]; return stronasubst; end; p["CzyStronęNumerować"] = function(frame) local strona=frame.args[1]; local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWASTRONY"](strona); local pudelko_modul=require("Module:Pudełko"); if(strona==pudelko_modul["Strona główna tego projektu"](frame))then return; end; if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then return; end; if(mw.ustring.match(strona,"^Szablon:SG/"))then return; end; local zbiory={ ["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true, ["Wikibooks:Polecane książki"]=true, ["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true, } if(zbiory[strona])then return; end; if(mw.ustring.match(strona,"^Szablon:Polecane książki/") or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/")) or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/")) )then return; end; return "tak"; end; function p.HNumer(frame) local p=frame.args["wyspecjalizowana"] and frame or frame:getParent(); if((not p) or (not p.args[1]))then local blad_module=require("Module:Błąd"); local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); return; end; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]); local id2,_=mw.ustring.gsub(naglowek,"^[%s_]",""); id2,_=mw.ustring.gsub(id2,"[%s_]$",""); id2,_=mw.ustring.gsub(id2,"[%s_]","_"); local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)","."); if(licznik>6)then local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") ..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>"; elseif(licznik<1)then local blad_module=require("Module:Błąd"); local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},} blad_module.error(frame2); else local id=p.args["id"]; local styl=p.args["styl"]; local klasa=p.args["klasa"]; local atrybuty=p.args["atrybuty"]; local parametry_modul=require("Module:Parametry"); return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "") ..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") .." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\"" ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">"; end; end; function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_modul=require("Module:Nazwy"); local parametry_modul=require("Module:Parametry"); local ksiazkowe_modul=require("Module:Książkowe"); local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {}; local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; local czy_nie_aktualny=( (nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki) or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu) ); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza); local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; elseif(not gdy_pusty_spis_tresci)then local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij); return spis_tresci_artykulu; end; end; function p.WykazModolow(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni]; if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end; local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki]; if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end; local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis; if(not spis)then return nil;end; local parametry_modul=require("Module:Parametry"); local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]); local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]); local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]); local wysokosc=frame.args["wysokość"]; local wykaz_modolow_w_liscie=""; local i=1; for _,tab_artykul in ipairs(spis)do if(tab_artykul[2])then for _,tab_pozycja in ipairs(tab_artykul[2])do if(type(tab_pozycja[1])~="table")then sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," "); else sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," "); end; local id=tab_pozycja[4] if(not tylko_naglowki or id)then if(not spis_ksiazkowy)then wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>'; else wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}"; end; i=i+1; end; end; end; end; if(wykaz_modolow_w_liscie=="")then return nil;end; if(not spis_ksiazkowy)then wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>"; wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>"; wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}'; else wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>"; end; local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie); return rozwiniety_wikikod; end; function p.NazwaModolu() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np'); local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu; if(nazwa_artykulu==nil)then return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]"; else return nazwa_artykulu; end; end; function p.Wstep_do_licencji(frame) local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>'; local element_licencji_2; if((frame.args[2]~='')and(frame.args[2]~=nil))then element_licencji_2=frame.args[2]..'<BR>'; end; local element_licencji_3; if((frame.args[3]~='')and(frame.args[3]~=nil))then element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>'; end; local element_licencji_4; if((frame.args[4]~='')and(frame.args[4]~=nil))then element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>"; else element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>'; end; if((frame.args[5]~='')and(frame.args[5]~=nil))then element_licencji_5=frame.args[5].."<BR>"; else element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>'; end; local element_licencji_6; if((frame.args[6]~='')and(frame.args[6]~=nil))then element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>'; else element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>'; end; if((frame.args[7]~='')and(frame.args[7]~=nil))then element_licencji_7=frame.args[7].."<BR>"; else element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>'; end; local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "") ..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7; return licencja; end; function p.Licencja(frame,czy_rozciagnij) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local menu_z_licencja; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(licencja)then if(licencja[1])then local frame={}; frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]}; local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>'; menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}'; else return nil; end; local frame=mw.getCurrentFrame(); local rozwiniety_wikikod=frame:preprocess(menu_z_licencja); return rozwiniety_wikikod; else return nil; end; end; function p.Autor(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja; if(tabela_listy_danych_analizy_ksiazki.licencja)then return licencja[1]; end; end; function p.PierwszaStrona(frame) local prawe_menu=""; local parametry_modul=require("Module:Parametry"); local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"]) if(parametry_modul.CzyTak(frame.args[1]))then prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>'; end; if(parametry_modul.CzyTak(frame.args[2]))then local licencja=p.Licencja(frame,czy_rozciagnij); if(licencja~=nil)then prawe_menu=prawe_menu..licencja; else local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local uchwyt_strony=mw.title.getCurrentTitle(); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci" or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników" or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu" or "na stronach głównych, publikacji"))); local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or ""; prawe_menu=prawe_menu..kategoria_braku_licencji; end; end; if(parametry_modul.CzyTak(frame.args[3]))then local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij); if(wykaz_artykulow~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow; end; end; if(parametry_modul.CzyTak(frame.args[4]))then local spis_tresci=p.TOC(frame,czy_rozciagnij,true); if(spis_tresci~=nil)then prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci; end; end; local wysokosc=frame.args["wysokość"]; return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>"; end; function p.SpisTresci(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame); local nazwa_artykulu=args["artykuł"] or args[1]; local nazwa_ksiazki=args["książka"] or args[2]; if(not parametry_modul.CzyTak(nazwa_ksiazki))then local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki; nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki; end; local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil); if(brak~=nil)then local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"](); local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników," or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu," or "stron,"))); return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]"; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki); local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki); nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki); local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu); local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu; local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony; local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony); local nazwa=args["nazwa"] or args[3]; local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," "); local dodatek=args["dodatek"] or args[4]; if(not tekst_artykulu)then if(nazwa_artykulu~="")then return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n"; else return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}"); end; else local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or ""); twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n"; local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje"); local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony); local atrybuty="style=\"margin-left:20px\""; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty); local limit=args["limit"]; local czy_limit=parametry_modul.CzyTak(limit); return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>'; end; end; function IteratorFunkcja() local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tabela_wypowiedzi=obiekty_modul.tablica_obiektow; local licznik=1; return function() local tabela_obiektu=tabela_wypowiedzi[licznik]; if(not tabela_obiektu)then return nil;end; local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$",""); local wartosc2=tabela_obiektu[4]; licznik=licznik+1; return wartosc1,wartosc2; end; end; local iterator=IteratorFunkcja(); for nazwa_obiektu,czesc_nazwy_funkcji in iterator do p["Numer"..czesc_nazwy_funkcji] = function(frame) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu); end; end; p["AnalizujSzablonemStronicowymArtykuł"]=function(frame) local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return ""; end; function p.formatowanie() local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych; return tabela_listy_danych_analizy_ksiazki.formatowanie; end; function p.WstawKategorie(frame) local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie"); return stronicowyparser_kategorie_modul.WstawKategorie(frame); end; function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic) if(czy_wymusic)then local nazwy_modul=require("Module:Nazwy"); local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"](); if(pelnanazwastrony~=pelnanazwastronyaktualnej)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil); end; end; local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych; if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then return "tak"; end; return ""; end; return p; 8cacuxev0v9ca9mko0trxy1f8oez0s7 Wikipedysta:Persino/brudnopis 2 44693 437687 437460 2022-08-13T19:33:44Z Persino 2851 wikitext text/x-wiki {{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{Brudnopis/Persino/SzablonSubst|nazwa=Przetłumaczony|postęp=tak|kod języka{{=}}en|kod projektu{{=}}w|Statistical physics}} ==Spis treści== * [[/Alfabet/]] * [[/Głoski///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]] * [[/Przypadki/]] {{Nowiki|{{PobierzNumerArtykułu|Głoski|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikipedysta:Persino/brudnopis/Głoski}}}} ---- {{#invoke:Łatki|są interwiki|nazwa=Wikipedia:Strona główna|kod projektu=w|kod języka=pl|wyspecjalizowana=tak}} ----- ==Spis treści== ** {{kompletność junior|2|17.03.2012}} [[Wikipedysta:Persino/brudnopis/Bałtowie|Bałtowie]] , {{kompletność junior|3|20.10.2020}} [[Wikipedysta:Persino/brudnopis/Celtowie|Celtowie]] ** {{kompletność junior|3|20.13.2112}} [[Wikipedysta:Persino/brudnopis/Bałtowie2|Bałtowie2]] ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Celtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie2}}}} ---- Następny: {{NastępnyArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Następny: {{NastępnyArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} {{SubNazwaNadArtykułu|1|2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{LiczbaArtykułówKsiążki|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNazwęArtykułu|5|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNumerArtykułu|Widłakowate|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Poryblinowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{PreNowiki|{{#invoke:StronicowyParser/Rozdziały|TekstRozdzialuStrony|Statystyka matematyczna/Średnie w matematyce statystycznej||Średnia arytmetyczna}}}} {{PreNowiki|{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|Matematyka dla liceum|Funkcja wykładnicza i logarytmiczna}}}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Statystyka matematyczna/Średnie w matematyce statystycznej}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Autorzy|analiza=tak|wyspecjalizowana=tak}}}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja|analiza=tak|wyspecjalizowana=tak}}}} =='''tytan'''== [[wikibooks:Strona główna]] {{PobierzNumerArtykułu|Zaczynamy/Zbiory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Zaczynamy/Rozwiązywanie równań i nierówności|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.3|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Logika/Zdanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|3.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Postulaty szczególnej teorii względności i rodzaje układów|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} {{PobierzNazwęArtykułu|1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} ---- {{PobierzNumerArtykułu|Alkany/Wzory strukturalne i izomeria alkanów|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{PobierzNazwęArtykułu|2.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} ---- {{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Źródła historyczne|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|0.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Władcy Izraela|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.3.1.1|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Majowie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.9.3.2|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerNagłówka|Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Celtowie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNazwęArtykułu|0.2|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} ---- {{PobierzNumerArtykułu|Cyrkiel i linijka|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Matematyka/Cyrkiel i linijka}} ---- {{PobierzNumerArtykułu|Jak się uczyć, by się nauczyć?|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Angielski/Jak się uczyć, by się nauczyć?}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{LinkURL|strona=/w/index.php?title=Angielski/Jak_si%C4%99_uczy%C4%87,_by_si%C4%99_nauczy%C4%87%3F&amp;action=edit&amp;section=1|nazwa=tutan}} {{LinkURL|strona=https://upload.wikimedia.org/wikibooks/pl/a/a0/2004zad28rys1.gif|nazwa=Pomoc dla użytkowników angielskiej Wikipedii}} ---- {{PobierzNumerArtykułu|Macierze|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Algebra liniowa/Macierze}} ----a {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ----a {{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}} ----Chemia organiczna {{PobierzNumerArtykułu|Koordynacja|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ----a {{PobierzNumerArtykułu|Węglowodory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Aneks|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Słownik pojęć|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Egipcjanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} ---- {{PobierzNumerArtykułu|Bibliografia|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Bibliografia}} ---- {{PobierzNumerArtykułu|Rachunek różniczkowy|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Rachunek różniczkowy}} ---- : {{s|PobierzNumerNagłówka|Starożytny Rzym|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. * Z wielopoziomową pozycją artykułu : {{s|PobierzNumerNagłówka|Starożytny Rzym|poziomowo{{=}}tak|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|poziomowo=tak|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. {{LinkURL|strona=https://upload.wikimedia.org/wikipedia/commons/a/aa/Tetrahedron_grey.svg}} ---- {{PobierzNumerArtykułu|Wymowa|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Wymowa}} ---- {{#invoke:StronicowyParser|PobierzDaneKsiążki|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura|wyspecjalizowana=tak}} 6mpefg667o3nnprfmo0c3oe7auw0yyh 437688 437687 2022-08-13T19:59:32Z Persino 2851 wikitext text/x-wiki <!--{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{Brudnopis/Persino/SzablonSubst|nazwa=Przetłumaczony|postęp=tak|kod języka{{=}}en|kod projektu{{=}}w|Statistical physics}} ==Spis treści== * [[/Alfabet/]] * [[/Głoski///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]] * [[/Przypadki/]] {{Nowiki|{{PobierzNumerArtykułu|Głoski|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikipedysta:Persino/brudnopis/Głoski}}}} ---- {{#invoke:Łatki|są interwiki|nazwa=Wikipedia:Strona główna|kod projektu=w|kod języka=pl|wyspecjalizowana=tak}} ----- ==Spis treści== ** {{kompletność junior|2|17.03.2012}} [[Wikipedysta:Persino/brudnopis/Bałtowie|Bałtowie]] , {{kompletność junior|3|20.10.2020}} [[Wikipedysta:Persino/brudnopis/Celtowie|Celtowie]] ** {{kompletność junior|3|20.13.2112}} [[Wikipedysta:Persino/brudnopis/Bałtowie2|Bałtowie2]] ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Celtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie2}}}} ---- Następny: {{NastępnyArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Następny: {{NastępnyArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} {{SubNazwaNadArtykułu|1|2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{LiczbaArtykułówKsiążki|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNazwęArtykułu|5|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNumerArtykułu|Widłakowate|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Poryblinowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{PreNowiki|{{#invoke:StronicowyParser/Rozdziały|TekstRozdzialuStrony|Statystyka matematyczna/Średnie w matematyce statystycznej||Średnia arytmetyczna}}}} {{PreNowiki|{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|Matematyka dla liceum|Funkcja wykładnicza i logarytmiczna}}}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Statystyka matematyczna/Średnie w matematyce statystycznej}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Autorzy|analiza=tak|wyspecjalizowana=tak}}}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja|analiza=tak|wyspecjalizowana=tak}}}} =='''tytan'''== [[wikibooks:Strona główna]] {{PobierzNumerArtykułu|Zaczynamy/Zbiory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Zaczynamy/Rozwiązywanie równań i nierówności|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.3|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Logika/Zdanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|3.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Postulaty szczególnej teorii względności i rodzaje układów|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} {{PobierzNazwęArtykułu|1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} ---- {{PobierzNumerArtykułu|Alkany/Wzory strukturalne i izomeria alkanów|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{PobierzNazwęArtykułu|2.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} ---- {{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Źródła historyczne|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|0.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Władcy Izraela|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.3.1.1|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Majowie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.9.3.2|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerNagłówka|Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Celtowie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNazwęArtykułu|0.2|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} ---- {{PobierzNumerArtykułu|Cyrkiel i linijka|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Matematyka/Cyrkiel i linijka}} ---- {{PobierzNumerArtykułu|Jak się uczyć, by się nauczyć?|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Angielski/Jak się uczyć, by się nauczyć?}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{LinkURL|strona=/w/index.php?title=Angielski/Jak_si%C4%99_uczy%C4%87,_by_si%C4%99_nauczy%C4%87%3F&amp;action=edit&amp;section=1|nazwa=tutan}} {{LinkURL|strona=https://upload.wikimedia.org/wikibooks/pl/a/a0/2004zad28rys1.gif|nazwa=Pomoc dla użytkowników angielskiej Wikipedii}} ---- {{PobierzNumerArtykułu|Macierze|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Algebra liniowa/Macierze}} ----a {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ----a {{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}} ----Chemia organiczna {{PobierzNumerArtykułu|Koordynacja|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ----a {{PobierzNumerArtykułu|Węglowodory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Aneks|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Słownik pojęć|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Egipcjanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} ---- {{PobierzNumerArtykułu|Bibliografia|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Bibliografia}} ---- {{PobierzNumerArtykułu|Rachunek różniczkowy|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Rachunek różniczkowy}} ---- : {{s|PobierzNumerNagłówka|Starożytny Rzym|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. * Z wielopoziomową pozycją artykułu : {{s|PobierzNumerNagłówka|Starożytny Rzym|poziomowo{{=}}tak|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|poziomowo=tak|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. {{LinkURL|strona=https://upload.wikimedia.org/wikipedia/commons/a/aa/Tetrahedron_grey.svg}} ---- {{PobierzNumerArtykułu|Wymowa|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Wymowa}} ---- -->{{#invoke:StronicowyParser|PobierzDaneKsiążki|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura|wyspecjalizowana=tak}} 9vgddxn8ygotx0hrieu7tj0frf7q3nv 437690 437688 2022-08-13T20:20:03Z Persino 2851 wikitext text/x-wiki <!--{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{Brudnopis/Persino/SzablonSubst|nazwa=Przetłumaczony|postęp=tak|kod języka{{=}}en|kod projektu{{=}}w|Statistical physics}} ==Spis treści== * [[/Alfabet/]] * [[/Głoski///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]] * [[/Przypadki/]] {{Nowiki|{{PobierzNumerArtykułu|Głoski|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikipedysta:Persino/brudnopis/Głoski}}}} ---- {{#invoke:Łatki|są interwiki|nazwa=Wikipedia:Strona główna|kod projektu=w|kod języka=pl|wyspecjalizowana=tak}} ----- ==Spis treści== ** {{kompletność junior|2|17.03.2012}} [[Wikipedysta:Persino/brudnopis/Bałtowie|Bałtowie]] , {{kompletność junior|3|20.10.2020}} [[Wikipedysta:Persino/brudnopis/Celtowie|Celtowie]] ** {{kompletność junior|3|20.13.2112}} [[Wikipedysta:Persino/brudnopis/Bałtowie2|Bałtowie2]] ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Celtowie}}}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie2}}}} ---- Następny: {{NastępnyArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Następny: {{NastępnyArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} Poprzedni: {{PoprzedniArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}} {{SubNazwaNadArtykułu|1|2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{LiczbaArtykułówKsiążki|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNazwęArtykułu|5|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}} {{PobierzNumerArtykułu|Widłakowate|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Poryblinowate}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}} {{PreNowiki|{{#invoke:StronicowyParser/Rozdziały|TekstRozdzialuStrony|Statystyka matematyczna/Średnie w matematyce statystycznej||Średnia arytmetyczna}}}} {{PreNowiki|{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|Matematyka dla liceum|Funkcja wykładnicza i logarytmiczna}}}} {{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Statystyka matematyczna/Średnie w matematyce statystycznej}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Autorzy|analiza=tak|wyspecjalizowana=tak}}}} {{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja|analiza=tak|wyspecjalizowana=tak}}}} =='''tytan'''== [[wikibooks:Strona główna]] {{PobierzNumerArtykułu|Zaczynamy/Zbiory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Zaczynamy/Rozwiązywanie równań i nierówności|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|2.3|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Logika/Zdanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} {{PobierzNazwęArtykułu|3.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Postulaty szczególnej teorii względności i rodzaje układów|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} {{PobierzNazwęArtykułu|1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}} ---- {{PobierzNumerArtykułu|Alkany/Wzory strukturalne i izomeria alkanów|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} {{PobierzNazwęArtykułu|2.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}} ---- {{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Źródła historyczne|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|0.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Władcy Izraela|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.3.1.1|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerArtykułu|Majowie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} {{PobierzNazwęArtykułu|2.9.3.2|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}} ---- {{PobierzNumerNagłówka|Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}} ---- {{PobierzNumerArtykułu|Celtowie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNazwęArtykułu|0.2|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} {{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}} ---- {{PobierzNumerArtykułu|Cyrkiel i linijka|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Matematyka/Cyrkiel i linijka}} ---- {{PobierzNumerArtykułu|Jak się uczyć, by się nauczyć?|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Angielski/Jak się uczyć, by się nauczyć?}} ---- {{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}} ---- {{LinkURL|strona=/w/index.php?title=Angielski/Jak_si%C4%99_uczy%C4%87,_by_si%C4%99_nauczy%C4%87%3F&amp;action=edit&amp;section=1|nazwa=tutan}} {{LinkURL|strona=https://upload.wikimedia.org/wikibooks/pl/a/a0/2004zad28rys1.gif|nazwa=Pomoc dla użytkowników angielskiej Wikipedii}} ---- {{PobierzNumerArtykułu|Macierze|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Algebra liniowa/Macierze}} ----a {{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}} ----a {{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}} ----Chemia organiczna {{PobierzNumerArtykułu|Koordynacja|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ----a {{PobierzNumerArtykułu|Węglowodory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Aneks|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Słownik pojęć|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}} ---- {{PobierzNumerArtykułu|Egipcjanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}} ---- {{PobierzNumerArtykułu|Bibliografia|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Bibliografia}} ---- {{PobierzNumerArtykułu|Rachunek różniczkowy|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Rachunek różniczkowy}} ---- : {{s|PobierzNumerNagłówka|Starożytny Rzym|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. * Z wielopoziomową pozycją artykułu : {{s|PobierzNumerNagłówka|Starożytny Rzym|poziomowo{{=}}tak|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|poziomowo=tak|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}. {{LinkURL|strona=https://upload.wikimedia.org/wikipedia/commons/a/aa/Tetrahedron_grey.svg}} ---- {{PobierzNumerArtykułu|Wymowa|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Wymowa}} ---- -->{{#invoke:StronicowyParser|PobierzDaneKsiążki|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura|wyspecjalizowana=tak}} {{PobierzNumerArtykułu|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura}} 0j0d2avkzf0i10ga7putn9lehzczagu Moduł:Tabela 828 56590 437672 430789 2022-08-13T15:56:04Z Persino 2851 Scribunto text/plain local p={}; function p.WikiTabela(frame) local parametry_modul=require("Module:Parametry"); local args=parametry_modul.PobierzArgsParametry(frame,true); local parametry_modul=require("Module:Parametry"); local tab_parametry={} local styl=args["styl"];tab_parametry["styl"]=""; local klasa=args["klasa"];tab_parametry["klasa"]=""; local atrybuty=args["atrybuty"];tab_parametry["atrybuty"]=""; local kol=tonumber(args["liczba kolumn"]) or 1; local liczba_kolumn=(kol>0)and kol or 1; tab_parametry["liczba kolumn"]="^%d+$!"; local wier=tonumber(args["liczba wierszy"]) or 1; local liczba_wierszy=(wier>0)and wier or 1; tab_parametry["liczba wierszy"]="^%d+$!"; local str="\n{|"..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "") ..(parametry_modul.CzyTak(klasa)and " class=\""..klasa.."\"" or "") ..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "") .."\n"; local czy_naglowki=false; for i=1,liczba_kolumn,1 do if(args["nagłówek "..i])then czy_naglowki=true;break;end;end; if(czy_naglowki)then local styl_naglowka=args["styl nagłówka"];tab_parametry["styl nagłówka"]=""; local klasa_naglowka=args["klasa nagłówka"];tab_parametry["klasa nagłówka"]=""; str=str.."|-"..(parametry_modul.CzyTak(styl_naglowka)and " style=\""..styl_naglowka.."\"" or "") ..(parametry_modul.CzyTak(klasa_naglowka)and " class=\""..klasa_naglowka.."\"" or "") .."\n"; local function ColSpanNaglowka(tabnaglowka,numer_kolumny) for k=1,#tabnaglowka,1 do local tabnaglowka2=tabnaglowka[k]; if(tabnaglowka2[1]<=numer_kolumny)and(tabnaglowka2[2]>=numer_kolumny)then return true; end; end; return false; end; local tabnaglowka={}; for numer_kolumny=1,liczba_kolumn,1 do local wynik=ColSpanNaglowka(tabnaglowka,numer_kolumny); if(not wynik)then local opcje=args["opcje "..numer_kolumny]; tab_parametry["opcje "..numer_kolumny]=""; local colspan2=opcje and mw.ustring.match(opcje,"colspan%s*=%s*\"%s*(%d+)%s*\"") or nil; colspan=colspan2 or args["kolumny "..numer_kolumny]; local kolumny=parametry_modul.CzyTak(colspan) and colspan or nil; tab_parametry["kolumny "..numer_kolumny]="^%d+$?"; local col=colspan and tonumber(colspan) or 1; colspan=(col>1) and col or 1; if(colspan>1)then table.insert(tabnaglowka,{numer_kolumny,numer_kolumny+colspan-1}) end; local czy_opcje=parametry_modul.CzyTak(args["opcje "..numer_kolumny]); local czy_styl=parametry_modul.CzyTak(args["styl "..numer_kolumny]); local czy_klasa=parametry_modul.CzyTak(args["klasa "..numer_kolumny]); str=str.."!" ..(czy_opcje and " "..args["opcje "..numer_kolumny] or "") ..(czy_styl and " style=\""..args["styl "..numer_kolumny].."\"" or "") ..(czy_klasa and " class=\""..args["klasa "..numer_kolumny].."\"" or "") ..((kolumny and not colspan2) and " colspan=\""..kolumny.."\"" or "") ..((czy_opcje or czy_styl or czy_klasa or kolumny) and " |" or "") ..(args["nagłówek "..numer_kolumny] or "{{{nagłówek "..numer_kolumny.."}}}").."\n"; tab_parametry["styl "..numer_kolumny]=""; tab_parametry["klasa "..numer_kolumny]=""; tab_parametry["opcje "..numer_kolumny]=""; tab_parametry["nagłówek "..numer_kolumny]="!"; end; end; end; local function ColAndRowSpan(tab,numer_wiersza,numer_kolumny) for k=1,#tab,1 do local tab2=tab[k]; if(tab2[1]<=numer_wiersza)and(tab2[2]<=numer_kolumny)and(tab2[3]>=numer_wiersza)and(tab2[4]>=numer_kolumny)then return true; end; end; return false; end; local tab={}; for numer_wiersza=1,liczba_wierszy,1 do local str2="" for numer_kolumny=1,liczba_kolumn,1 do local czypominac=ColAndRowSpan(tab,numer_wiersza,numer_kolumny); if(not czypominac)then local opcje=args["opcje "..numer_wiersza.."_"..numer_kolumny]; tab_parametry["opcje "..numer_wiersza.."_"..numer_kolumny]=""; local colspan2=opcje and mw.ustring.match(opcje,"colspan%s*=%s*\"%s*(%d+)%s*\"") or nil local colspan=colspan2 or args["kolumny "..numer_wiersza.."_"..numer_kolumny]; kolumny=parametry_modul.CzyTak(colspan) and colspan or nil; --- local rowspan2=opcje and mw.ustring.match(opcje,"rowspan%s*=%s*\"%s*(%d+)%s*\"") or nil; local rowspan=rowspan2 or args["wiersze "..numer_wiersza.."_"..numer_kolumny]; wiersze=parametry_modul.CzyTak(rowspan) and rowspan or nil; ---- if(not colspan2)then tab_parametry["kolumny "..numer_wiersza.."_"..numer_kolumny]="^%d+$?";end; if(not rowspan2)then tab_parametry["wiersze "..numer_wiersza.."_"..numer_kolumny]="^%d+$?";end; if((not wiersze)and(not kolumny))then local scal=args["scal "..numer_wiersza.."_"..numer_kolumny]; if(parametry_modul.CzyTak(scal))then wiersze,kolumny=mw.ustring.match(scal,"^(%d+)%s+(%d+)$"); end; tab_parametry["scal "..numer_wiersza.."_"..numer_kolumny]="^%d+%s+%d+$?"; end; local col=kolumny and tonumber(kolumny) or 1; local row=wiersze and tonumber(wiersze) or 1; colspan=(col>1)and col or 1; rowspan=(row>1) and row or 1; if(((colspan>1)and(rowspan>1))or((colspan>1)and(rowspan==1))or((colspan==1)and(rowspan>1)))then table.insert(tab,{numer_wiersza,numer_kolumny,numer_wiersza+rowspan-1,numer_kolumny+colspan-1}) end; opcje=parametry_modul.CzyTak(opcje)and opcje or nil; local komorka=args["komórka "..numer_wiersza.."_"..numer_kolumny]; tab_parametry["komórka "..numer_wiersza.."_"..numer_kolumny]="!"; tab_parametry["nagłówek "..numer_wiersza.."_"..numer_kolumny]=""; local kreska_pionowa_czy_wykrzyknik; if(parametry_modul.CzyTak(args["nagłówek "..numer_wiersza.."_"..numer_kolumny]))then kreska_pionowa_czy_wykrzyknik="!"; else kreska_pionowa_czy_wykrzyknik="|"; end; local styl_komorki=args["styl "..numer_wiersza.."_"..numer_kolumny]; local klasa_komorki=args["klasa "..numer_wiersza.."_"..numer_kolumny]; tab_parametry["styl "..numer_wiersza.."_"..numer_kolumny]="" tab_parametry["klasa "..numer_wiersza.."_"..numer_kolumny]=""; czy_opcje=parametry_modul.CzyTak(opcje); czy_styl_komorki=parametry_modul.CzyTak(styl_komorki); czy_klasa_komorki=parametry_modul.CzyTak(klasa_komorki); str2=str2..kreska_pionowa_czy_wykrzyknik ..((czy_opcje) and " "..opcje or "") ..((czy_styl_komorki) and " style=\""..styl_komorki.."\"" or "") ..((czy_klasa_komorki) and " class=\""..klasa_komorki.."\"" or "") ..((not rowspan2 and wiersze) and " rowspan=\""..wiersze.."\"" or "") ..((not colspan2 and kolumny) and " colspan=\""..kolumny.."\"" or "") ..((czy_opcje or czy_styl_komorki or czy_klasa_komorki or wiersze or kolumny) and " |" or "") ..((mw.ustring.match(komorka,"^{|") and "\n"..komorka or komorka) or "{{{komórka "..numer_wiersza.."_"..numer_kolumny.."}}}") .."\n"; end; end; local czy_puste=(str2==""); if(not czy_puste)then local opcje_wiersza=args["opcje wiersza "..numer_wiersza]; local styl_wiersza=args["styl wiersza "..numer_wiersza]; local klasa_wiersza=args["klasa wiersza "..numer_wiersza]; tab_parametry["opcje wiersza "..numer_wiersza]=""; tab_parametry["styl wiersza "..numer_wiersza]=""; tab_parametry["klasa wiersza "..numer_wiersza]=""; local czy_opcje=parametry_modul.CzyTak(opcje_wiersza); local czy_styl=parametry_modul.CzyTak(styl_wiersza); local czy_klasa=parametry_modul.CzyTak(klasa_wiersza); str=str.."|-"..(czy_opcje and " "..opcje_wiersza or "") ..(czy_styl and " style=\""..styl_wiersza.."\"" or "") ..(czy_klasa and " class=\""..klasa_wiersza.."\"" or "") .."\n" ..str2; else str=str.."|-\n"; end; end; local sprawdz_modul=require("Module:Sprawdź"); tab_parametry[""]="problemy-w-szablonie-%s {{Kategoria|Szablon %s do sprawdzenia}}"; local frame2=frame:getParent():newChild{args=tab_parametry,} local fun_parametry=sprawdz_modul.Parametry(frame2) or ""; return str.."|}\n"..fun_parametry; end; return p; 4zzkxrlxfwbmf4z44xeqpd7cb80tp07 Programowanie w systemie UNIX/versioning 0 57318 437685 408214 2022-08-13T19:02:33Z Adam majewski 1978 ref wikitext text/x-wiki Jak oznaczać nowe wersje programu ? ( ang. Software versioning<ref>[[:w:Software versioning|Software versioning w ang wikipedii]]</ref> ) =Typy= * semantyczne ** [https://semver.org/ Semantic Versioning specification originally authored by Tom Preston-Werner] pięć poziomów stabilności dla projektów open source: <ref>[https://github.com/propensive/iridescence iridescence by Jon Pretty]</ref> * embrionalny: wyłącznie do celów doświadczalnych lub demonstracyjnych, bez żadnych gwarancji długowieczności * raczkujący: o udowodnionej użyteczności, poszukujący wkładu, ale podatny na znaczące przeprojektowanie * dojrzały: główne decyzje projektowe szeroko rozstrzygnięte, starające się o przyjęcie i udoskonalenie * niezawodny: gotowy do produkcji, podlegający kontrolowanej bieżącej konserwacji i ulepszaniu; oznaczone jako wersja 1.0 lub nowsza * końcowy / żelazny: sprawdzona, niezawodna i gotowa do produkcji, bez żadnych dalszych przełomowych zmian =Odnośniki = <references/> =Zobacz również= {{BrClear}} <noinclude> {{Wolumin}} </noinclude> lvd8urhhl8bbf55ptlq3osiiipdx98d Wikipedysta:Persino/Gadget-StronicowyParser.js/StronaSubst.js 2 58130 437660 437520 2022-08-13T12:03:54Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); console.log("MAMUT1"); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ console.log("MAMUT2") tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } $("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"visible"); if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } $("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"visible"); if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:6px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); 6tzjxvfa7lw068fux1sefbunfnco3zv 437661 437660 2022-08-13T12:04:34Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.WyswietlStronyKsiazki=async function(){ await StronicowyParser.muteks.zablokuj(); let stronasubst_latex=undefined; let stronasubst_mathml=undefined; let stronasubst_opakuj_kategorie_ze_sortowaniem=undefined; let stronasubst_ukrywaj_toc=undefined; let stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=undefined; let stronasubst_aktualizowanie_nazw_artykulow=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=undefined; let stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=undefined; let stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=undefined; let stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=undefined; let stronasubst_nie_usuwaj_styli=undefined; let stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'StronaSubst-name': 'Strona zbiorcza', 'StronaSubst-description-page': 'Wikibooks:StronicowyParser/StronaSubst', 'StronaSubst-latex': 'Zamiast wzorów, wstaw tekst latexowy, w przeciwnym przypadku jest w formie LaTeX.', 'StronaSubst-mathml': 'Zamiast wzorów latexowych, wstaw je w formie znaczników MathML.', 'StronaSubst-opakuj_kategorie_ze_sortowaniem' : 'W stronach zbiorczych opakowuje kategorie, w postaci ramki, dla każdego artykułu z osobna.', 'StronaSubst-ukrywaj_toc' : "Ukrywa, począwszy od jakiegoś poziomu wszystkich tam spisów treści, na stronach zbiorczych.", 'StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach' : "Włącza dymki, nad linkami, w ładowanych dynamicznie stronach, tworząc je inteligentnymi.", 'StronaSubst-aktualizowanie_nazw_artykulow' : 'Aktualizuje na podstawie strony głównej nazwy tylko artykułów.', 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami' : "Aktualizuje sekcje poszczegónych rozdziałów artykułów ładowanych rozdziałami, domyślnie według sekcji w tych jednostkach.", 'StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika' : 'Aktualizuje, sekcje artykułów ładowanych rozdziałami, na podstawie strony głównej książki, a nie jego artykułów.', 'StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej' : 'Aktualizuje nagłówki strony głównej podręcznika na stronie zbiorczej.', 'StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule' : 'Aktualizuje, brakujące sekcje rozdziałów ładowanych rozdziałami artykułów, według wpisów na stronie głównej, na stronie zbiorczej.', 'StronaSubst-nie_usuwaj_styli' : 'Nie usuwa styli z nagłówków ładowanych stron.', 'StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst' : 'Rozwijaj szablony oznaczone szablonem SzablonSubst.', }); gConfig.register('StronaSubst', {name: mw.msg('StronaSubst-name'), descriptionPage: mw.msg('StronaSubst-description-page')}, [ { name: 'latex', desc: mw.msg('StronaSubst-latex'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_latex'] }, { name: 'mathml', desc: mw.msg('StronaSubst-mathml'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_mathml'] }, { name: 'opakuj_kategorie_ze_sortowaniem', desc: mw.msg('StronaSubst-opakuj_kategorie_ze_sortowaniem'), type: 'boolean', deflt: false, legacy: [window, 'wb_stronasubst_opakuj_kategorie_ze_sortowaniem'] }, { name: 'ukrywaj_toc', desc: mw.msg('StronaSubst-ukrywaj_toc'), type: 'integer', deflt: 0, validation: function(n){ if((n<0)||(n==1)){ throw 'Wartość dotycząca poziomu ukrywania spisów treści jest nieprawidłowa!' }; return n; }, legacy: [window, 'wb_stronasubst_ukrywaj_toc'] }, { name: 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach', desc: mw.msg('StronaSubst-dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'] }, { name: 'aktualizowanie_nazw_artykulow', desc: mw.msg('StronaSubst-aktualizowanie_nazw_artykulow'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nazw_artykulow'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami'] }, { name: 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika', desc: mw.msg('StronaSubst-aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika'] }, { name: 'aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej', desc: mw.msg('StronaSubst-aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej'] }, { name: 'aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule', desc: mw.msg('StronaSubst-aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule'] }, { name: 'nie_usuwaj_styli', desc: mw.msg('StronaSubst-nie_usuwaj_styli'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_nie_usuwaj_styli'] }, { name: 'rozwijaj_szablony_oznaczone_szablonem_szablonsubst', desc: mw.msg('StronaSubst-rozwijaj_szablony_oznaczone_szablonem_szablonsubst'), type: 'boolean', deflt: true, legacy: [window, 'wb_stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst'] }, ]); stronasubst_latex = (gConfig.get('StronaSubst', 'latex')==true); stronasubst_mathml = (((gConfig.get('StronaSubst', 'mathml'))&&(!stronasubst_latex))==true); stronasubst_opakuj_kategorie_ze_sortowaniem = (gConfig.get('StronaSubst', 'opakuj_kategorie_ze_sortowaniem')==true); stronasubst_ukrywaj_toc = gConfig.get('StronaSubst', 'ukrywaj_toc'); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach = gConfig.get('StronaSubst', 'dymki_nad_linkami_w_ladowanych_dynamicznie_stronach'); stronasubst_aktualizowanie_nazw_artykulow = (gConfig.get('StronaSubst', 'aktualizowanie_nazw_artykulow')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami = (gConfig.get('StronaSubst', 'aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami')==true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika = (gConfig.get('StronaSubst','aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika')==true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej = (gConfig.get('StronaSubst','aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej')==true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule = (gConfig.get('StronaSubst','aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule')==true); stronasubst_nie_usuwaj_styli = (gConfig.get('StronaSubst','nie_usuwaj_styli')==true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst = (gConfig.get('StronaSubst','rozwijaj_szablony_oznaczone_szablonem_szablonsubst')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} let stronasubst_tablica_tych_samych=new Array(); let stronasubst_tablica_rozdzialow=new Array(); let stronasubst_tablica_alternatywnych_nazw=new Array(); stronasubst_latex=((stronasubst_latex!==undefined)?stronasubst_latex:false); stronasubst_mathml=((stronasubst_mathml!==undefined)?stronasubst_mathml:true); stronasubst_opakuj_kategorie_ze_sortowaniem=((stronasubst_opakuj_kategorie_ze_sortowaniem!==undefined)?stronasubst_opakuj_kategorie_ze_sortowaniem:false); stronasubst_ukrywaj_toc=parseInt(((stronasubst_ukrywaj_toc!==undefined)?stronasubst_ukrywaj_toc:0)); stronasubst_ukrywaj_toc=((!isNaN(stronasubst_ukrywaj_toc))?stronasubst_ukrywaj_toc:0); stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach=((stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach!==undefined)?stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach:true); stronasubst_aktualizowanie_nazw_artykulow=((stronasubst_aktualizowanie_nazw_artykulow!==undefined)?stronasubst_aktualizowanie_nazw_artykulow:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami:true); stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika=((stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika!==undefined)?stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika:true); stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej=((stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej!==undefined)?stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej:true); stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule=((stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule!==undefined)?stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule:true); stronasubst_nie_usuwaj_styli=((stronasubst_nie_usuwaj_styli!==undefined)?stronasubst_nie_usuwaj_styli:true); stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst=((stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst!==undefined)?stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst:true); async function AnalizujDalejSzablonSubst(element_strony,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let rozdzial_ksiazki="rozdział_książki"; let el=$(element_strony).find('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((el!==null)&&(el.length>0)){ for(let i=0;i<el.length;++i){ let element_el=el[i]; let ksiazka=element_el.querySelector("."+rozdzial_ksiazki); if(ksiazka){ let nazwa_strony=element_el.getAttribute('nazwa_strony'); if(tab_promise2){tab_promise2.push(true);} CzyStronaSubst(element_el,nazwa_strony,tab_promise2); } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } async function WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2){ await StronicowyParser.muteks.zablokuj(); let title=data.parse.title; let wikikod=data.parse.text['*']; let strona_hash; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let t=tab_uzyskane[0]; if(t==undefined){ console.log("Nie wykryto znacznika lsth_\d+."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } strona_hash=titles[t]; let selflink=document.createElement('div'); selflink.innerHTML=wikikod; let czy_selflink=selflink.getElementsByClassName('selflink'); if((czy_selflink!==null)&&(czy_selflink.length==1)){ let elements=tabstrona[strona_hash]; let a=document.createElement('a');/*Tworzenie linku*/ a.setAttribute('href',StronicowyParser.kodowanie.EncodeHtml(title)); a.innerHTML=strona_hash; let span=document.createElement('span'); span.appendChild(a); span.setAttribute("class","niw link");/*Dodawanie klasy, by inny skript JS to przeanalizował jako link*/ if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuElementuInfo(span); } for(let q in elements){ let element=elements[q]; element.innerHTML=""; element.appendChild(span); $(element).wrap(function(){return "<strong></strong>";}); let przed=document.createTextNode("{{:"); let po=document.createTextNode("}}"); element.insertBefore(przed,element.firstChild); element.appendChild(po); element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=tab_uzyskane[1].innerHTML; let elements=tabstrona[strona_hash]; for(let q in elements){ let element=elements[q]; element.innerHTML=wikikod; StronicowyParser.ZamienLinkiNaLinkiDoStronyAktualnej(element,title,titles); } StronicowyParser.AktualizujSpisTresciModuluStrony(elements,tabs,strona_hash,stronasubst_tablica_alternatywnych_nazw,stronasubst_tablica_tych_samych,stronasubst_tablica_rozdzialow,true,stronasubst_latex,stronasubst_mathml) let strona_start=$(elements[0]).parents(".strona_start"); let rodzic=undefined; if((strona_start!==null)&&(strona_start.length>0)){ rodzic=strona_start[0]; } StronicowyParser.IndeksujHeadLine(rodzic); StronicowyParser.PrzeIndeksujWszystkieTOC(rodzic,true); for(let q in elements){ let element=elements[q]; async function ElementDalszychObliczen(element,tab_promise2){ await StronicowyParser.muteks.zablokuj(true); StronicowyParser.PoprawRozdzialyStron(element); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.numerowanie.NumerujRozdzialyPoSciagnieciuArtykulu(element,tab_promise2);//Funkcja jako gadżet do numerowania rozdziałów. } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element,tab_promise2).then((result) => {}).catch((error) => {}); } element.style.display="block"; let parent=element.parentNode; if((parent!==null)&&(parent.tagName.toUpperCase()=="DIV")){ parent.style.display="block"; } let pasek=element.parentNode.querySelector('.postęp_ładowania_artykułu'); if(pasek!==null){ element.parentNode.removeChild(pasek); } if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element,tab_promise2); } if((StronicowyParser.szablony&&StronicowyParser.szablony.LadujSzablon)&&(stronasubst_rozwijaj_szablony_oznaczone_szablonem_szablonsubst)){ let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(element,title,titles,undefined,tab_promise).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(()=>{ if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(element); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} ElementDalszychObliczen(element,tab_promise2); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function ToogleTableOfContainer(panel){ let id=panel.target; let tagname=id.tagName.toUpperCase(); //console.log(czy_klasa,tagname,"TYTAN)"; if(tagname=="BUTTON"){ let czy_klasa_1=$(id).hasClass('sidebar-toc-toggle'); let czy_klasa_2=$(id).hasClass('vector-toc-collapse-button'); if(czy_klasa_1){ $(id).parent().children().last().each((i,element)=>{ let expanded=$(id).attr('aria-expanded'); if(expanded=="false"){ $(element).css('display',"block"); $(element).closest('li').addClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','true'); }else if(expanded=="true"){ $(element).css('display',"none"); $(element).closest('li').removeClass('sidebar-toc-list-item-expanded'); $(id).attr('aria-expanded','false'); } }); }else if(czy_klasa_2){ $(id).parents('#sidebar-toc-label').siblings('ul').each((i,element)=>{ let ukryj=$(element).css('display'); if(ukryj!="none"){ $(element).css('display',"none"); id.innerHTML=" pokaż "; }else{ $(element).css('display',"block"); id.innerHTML=" ukryj " } }); } } } let mutekstoogle=new StronicowyParser.Muteks(); async function ScrollTableOfContainer(){ await mutekstoogle.zablokuj(); var height_sticky=0; $('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header').first().each(function(i,el){ var rect_sticky=el.getBoundingClientRect(); height_sticky=rect_sticky.height-15; }); let parser=document.querySelector('#mw-content-text .mw-parser-output'); if(parser){ let rect=parser.getBoundingClientRect(); if(rect.top>=height_sticky){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item').first().addClass('sidebar-toc-list-item-active'); mutekstoogle.odblokuj(); return; } }else{ mutekstoogle.odblokuj(); return; } var str=$('#mw-content-text .mw-parser-output').find('h1, h2, h3, h4, h5, h6'); if((str!==null)&&(str.length>0)){ var naglowek; for(i=0;i<str.length;++i){ let element=str[i]; let rect=element.getBoundingClientRect(); if(rect.top>=height_sticky){ let mw_naglowek=element.querySelector('.mw-headline'); if(mw_naglowek){ let id_naglowek=mw_naglowek.getAttribute('id'); let tak=false; $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+id_naglowek){ let display=window.getComputedStyle(element, null).getPropertyValue('display'); if(display!="none"){ tak=true; } } }); if(tak){ naglowek=id_naglowek; break; } } } } if(naglowek){ $('.mw-table-of-contents-container > #mw-panel-toc li.sidebar-toc-list-item.sidebar-toc-list-item-active').each((i,element)=>{ $(element).removeClass('sidebar-toc-list-item-active'); }); $('.mw-table-of-contents-container > #mw-panel-toc ul').find('li.sidebar-toc-list-item').each((i,element)=>{ if(element.getAttribute('id')=='toc-'+naglowek){ $(element).addClass('sidebar-toc-list-item-active'); } }); } } mutekstoogle.odblokuj(); } async function StronaSubst(element_strony,wikikod,aktualna_strona,tab_promise2){ await StronicowyParser.muteks.zablokuj(); StronicowyParser.NaprawNaglowkiStrony(element_strony,true); let czy_wikikod=wikikod.match(/^[_\s]*$/g); let strona_start=$('#mw-content-text .mw-parser-output .strona_start'); function CzyWszystkieNaglowkiWewnatrzStronaStart(){ let pole=$('#mw-content-text .mw-parser-output').find('h1,h2,h3,h4,h5,h6'); for(let i=0;i<pole.length;++i){ let s=strona_start.find(pole[i]); if((s===null)||(s.length==0)){ return false; } } return true; } if(czy_wikikod){ StronicowyParser.muteks.odblokuj(); let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyArtykulu)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyArtykulu(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } let czy_numerowac=StronicowyParser.CzyWlaczycSideBarTOC(undefined,true); if(czy_numerowac){ czy_numerowac=false; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: StronicowyParser.pageinfo.fullname, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+StronicowyParser.pageinfo.fullname+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ czy_numerowac=true; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ let tab_promise=new Array(true); StronicowyParser.LimitTOC(czy_numerowac,stronasubst_ukrywaj_toc); StronicowyParser.szablony.LadujSzablon(null,null,null,czy_numerowac,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true) StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async()=>{ if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],czy_numerowac,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,czy_numerowac,stronasubst_latex,stronasubst_mathml); } $("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"visible"); if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(czy_numerowac)){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); if(tab_promise2){tab_promise2.pop();} return; } let tab_promise=new Array(true); StronicowyParser.szablony.LadujSzablon(null,null,null,undefined,tab_promise); StronicowyParser.ZmieniajNazwyLinkowNaLinkiPodrecznika(); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(element_strony,tab_promise); tab_promise.push(true); StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(element_strony,tab_promise); if(tab_promise2){tab_promise2.push(true);tab_promise2.push(true);} StronicowyParser.CzekajNaZakaczenie(tab_promise,tab_promise2).then(async (result) => { let tab_promise=new Array(); if((StronicowyParser.numerowanie)&&(StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow)){ tab_promise.push(true); StronicowyParser.numerowanie.NumerujRozdzialyPrzedSciaganiemArtykulow(tab_promise).then((result) => {}).catch((error) => {});//Funkcja jako gadżet do numerowania rozdziałów. } await StronicowyParser.CzekajNaZakaczenie(tab_promise).then(async (result) => {}).catch(()=>{}); await StronicowyParser.muteks.zablokuj(); if(tab_promise2){tab_promise2.push(true);} AnalizujDalejSzablonSubst(element_strony,tab_promise2); let rozdzial_ksiazki="rozdział_książki"; let tagclass=element_strony.getElementsByClassName(rozdzial_ksiazki); if(tagclass===null){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return null; } let liczba_elementow=tagclass.length; if(liczba_elementow==0){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return null; } let titles=new Array(); let tabstrona=new Array(); let tabs=new Array(); let tab_section=new Array(); if(StronicowyParser.TrybCiemnyIJasny){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.TrybCiemnyIJasny(element_strony,tab_promise2); } let tab_hn=new Array(); async function edit_action(numer,strona,hn,link_strona,czy_link_nie_w_naglowku){ await StronicowyParser.muteks.zablokuj(); let linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection===null){ let editsection=document.createElement('span'); editsection.classList.add('mw-editsection'); let bracket_poczatek=document.createElement('span'); bracket_poczatek.classList.add('mw-editsection-bracket') bracket_poczatek.innerHTML="["; let a=document.createElement('a'); a.setAttribute('href',"/w/index.php?title="+StronicowyParser.kodowanie.EncodeHtml(strona,false,true)+"&action=edit"+((numer>0)?("&section="+numer):"")); a.setAttribute('title',"Edytuj artykuł: "+link_strona); a.innerHTML="edytuj"; let bracket_koniec=document.createElement('span'); bracket_koniec.classList.add('mw-editsection-bracket') bracket_koniec.innerHTML="]"; editsection.appendChild(bracket_poczatek); editsection.appendChild(a) editsection.appendChild(bracket_koniec); hn.appendChild(editsection); } linkstrony_editsection=hn.querySelector('.mw-editsection'); if(linkstrony_editsection!==null){ let mw_editsection_bracket=linkstrony_editsection.querySelector('a'); if(mw_editsection_bracket!==null){ if(czy_link_nie_w_naglowku){ let a=document.createElement('a'); a.innerHTML="artykuł"; a.setAttribute("href",StronicowyParser.kodowanie.EncodeHtml("/wiki/"+StronicowyParser.kodowanie.EncodeHtml(link_strona,false,true))); a.setAttribute("title","Zobacz artykuł: "+link_strona); let span=document.createElement('span'); span.innerHTML="| "; span.setAttribute('class',"mw-editsection-bracket") let czy_ma=$(mw_editsection_bracket).parent().hasClass('link'); if(czy_ma){ let rodzic_mw_editsection_bracket=mw_editsection_bracket.parentNode; let span2=linkstrony_editsection.insertBefore(span, rodzic_mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); }else{ let span2=linkstrony_editsection.insertBefore(span, mw_editsection_bracket); linkstrony_editsection.insertBefore(a, span2); } } } if((StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo)&&(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach)){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(linkstrony_editsection).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); } for (let i=0;i<liczba_elementow;++i){ let tagclassname=tagclass[i]; let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find("."+rozdzial_ksiazki); function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==tagclassname){ return true; } } return false; } if(CzyOdrzucic()){continue;} if(tagclassname.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let class_element=tagclassname.getElementsByClassName('strona_subst'); let element; if((class_element!==null)&&(class_element.length==1)){ element=class_element[0]; if(element.tagName.toUpperCase()!="DIV"){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let czy_link_nie_w_naglowku; let strona_headline=tagclassname.getElementsByClassName('mw-headline'); let link_strona; if((strona_headline!==null)&&(strona_headline.length==1)){ strona_a=strona_headline[0].getElementsByTagName('a'); if((strona_a!==null)&&(strona_a.length==1)){ link_strona=StronicowyParser.kodowanie.DecodeHtml(strona_a[0].getAttribute('href')); if(link_strona!==null){ let re=/\/wiki\//g; if(re.test(link_strona)){ link_strona=link_strona.substring(6,link_strona.length); czy_link_nie_w_naglowku=false; }else{ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } } }else{ link_strona=StronicowyParser.style.UsunStyle(element.innerHTML); czy_link_nie_w_naglowku=true; } } let re = /^[_\s]*$/g; let dopasowanie = re.test(link_strona); if(dopasowanie){ StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();}; return; }; link_strona=link_strona.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ").replace(/&amp;/g,"&").replace(/&nbsp;/g," "); let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); /**/ let hn=strona_headline[0].parentNode; if((hn===null)||(!hn.tagName.toUpperCase().match(/^H\d+$/g))){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} tab_section[i]=new Array(hn,link_strona,czy_link_nie_w_naglowku); let strona=link_strona.match(/^[^#]*/g).toString(); async function PraceIteracyjne(tab_promise2){ await StronicowyParser.muteks.zablokuj(); if(/#/g.test(link_strona)){ let hash=link_strona.replace(/^([^#]*)#(.*)$/g,"$2"); if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let numer=hn.innerHTML; numer=parseInt(numer); if(isNaN(numer)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return ;} let tab_c=tab_section[c]; edit_action(numer,tab_c[1].match(/^[^#]*/g).toString(),tab_c[0],tab_c[1],tab_c[2]); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami){ if(!stronasubst_aktualizowanie_sekcji_artykolow_ladowanych_rozdzialami_wedlug_strony_glownej_podrecznika){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona+"|"+hash+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); }else{ let uzupelniaj_sekcje_artykulow; if(stronasubst_aktualizowanie_nieistniejacych_sekcji_rozdzialow_artykulow_na_stronie_glownej_w_artykule){ uzupelniaj_sekcje_artykulow="tak"; }else{ uzupelniaj_sekcje_artykulow=""; } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+link_strona+"|analiza=tak|uzupełniaj sekcje artykułów="+uzupelniaj_sekcje_artykulow+"|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; let a=headline.getElementsByTagName('a'); if((a!==null)&&(a.length>0)){ a[0].setAttribute('title',stare); } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } }else{ edit_action(0,strona,hn,link_strona,czy_link_nie_w_naglowku); if(stronasubst_aktualizowanie_nazw_artykulow){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+i+"\">{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki="+strona+"|analiza=tak|wyspecjalizowana=tak}}}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();if(tab_promise2){tab_promise2.pop();};return;} let tab_c=tab_section[c]; let hn_element=tab_c[0]; let headline=hn_element.querySelector('.mw-headline'); let stare=tab_section[c][1];let nowe; if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); wikikod=StronicowyParser.style.UsunStyle(wikikod); nowe=wikikod.replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); }else{ nowe=StronicowyParser.style.UsunStyle(wikikod).replace(/<[^<>]+>/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); } stronasubst_tablica_alternatywnych_nazw[stare]=nowe; headline.innerHTML=wikikod; StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceIteracyjne(tab_promise2).then((result) => {}).catch((error) => {}); },1000); /**/ tabs[i]=link_strona; let czy=false; for(let d in titles){ if(titles[d]==link_strona){ czy=true; break; } } if(!czy){ titles[titles.length]=link_strona; } if(tabstrona[link_strona]==null){ tabstrona[link_strona]=new Array(); } let tab=tabstrona[link_strona]; let tablen=tab.length; tabstrona[link_strona][tablen]=element; } async function PraceNaglowki(tab_promise2){ await StronicowyParser.muteks.zablokuj(); let promise; if(element_strony==document){ let namespace=StronicowyParser.pageinfo.namespace; let strona_podrecznika=((namespace!="")?(namespace+":"):"")+StronicowyParser.pageinfo.bookname; promise=Promise.resolve(strona_podrecznika); }else{ let zaan=$(element_strony).parents('.rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany'); if((zaan!==null)&&(zaan.length>0)){ let strona=zaan[0].getAttribute('nazwa_strony'); if(strona){ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](strona); }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } }else{ promise=StronicowyParser.nazwy["PEŁNANAZWAKSIĄŻKI"](aktualna_strona); } } if(tab_promise2){tab_promise2.push(true);} promise.then(async (strona_podrecznika)=>{ await StronicowyParser.muteks.zablokuj(); let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); let potomek_analizowany=$(element_strony).find(".rodzic_szablon_subst_js.szablon_subst_js_zaanalizowany, .szablon_subst_js.szablon_subst_js_zaanalizowany").find(".klasa_nagłówka"); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)){ let g=0; let tab_naglowka=new Array(); let tab_hn=new Array(); for(let z=0;z<klasa_naglowka.length;++z){ let pojedyncza_klasa_naglowka=klasa_naglowka[z]; function CzyOdrzucic(){ for(let i=0;i<potomek_analizowany.length;++i){ if(potomek_analizowany[i]==pojedyncza_klasa_naglowka){ return true; } } return false; } if(CzyOdrzucic()){continue;} let dana_klasa_naglowka=pojedyncza_klasa_naglowka.querySelector('.mw-headline'); if(dana_klasa_naglowka!==null){ if((dana_klasa_naglowka.parentNode!==null)&&(dana_klasa_naglowka.parentNode.tagName.toUpperCase().match(/^[Hh]\d+$/g)) &&(dana_klasa_naglowka.parentNode.parentNode!=null)&&(dana_klasa_naglowka.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&($(dana_klasa_naglowka.parentNode.parentNode).hasClass('klasa_nagłówka'))){ let naglowek=StronicowyParser.style.UsunStyle(dana_klasa_naglowka.innerHTML).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_").replace(/&amp;/g,"&").replace(/&nbsp;/g,"_"); let ww=1; for(let x=0;x<tab_naglowka.length;++x){ if(tab_naglowka[x]==naglowek){ ++ww; } } naglowek=naglowek+((ww>1)?ww:""); tab_naglowka[g]=naglowek; tab_hn[g]=dana_klasa_naglowka.parentNode; if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|KtóraSekcjaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, na stronie głównej podręcznika, która podaje numer sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } let nazwa_podrecznika=strona_podrecznika.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") let naglowek_sekcji_podrecznika=tab_naglowka[c].replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," ") edit_action(c+1,nazwa_podrecznika,tab_hn[c],nazwa_podrecznika+"#"+naglowek_sekcji_podrecznika,true); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); if(stronasubst_aktualizowanie_naglowkow_strony_glownej_podrecznika_na_stronie_zbiorczej){ if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text', title: aktualna_strona, text: "<div class=\"hn hn_"+g+"\">{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|"+strona_podrecznika+"|"+naglowek+"}}</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.parse.text['*']; let tab_uzyskane=StronicowyParser.potrzebne.UzyskajLiczbe(wikikod); let c=tab_uzyskane[0];let hn=tab_uzyskane[1]; if(c===undefined){ console.log("Nie wykryto znacznika hn_\d+ dla strony, która podaje nazwę sekcji na podstawie jego id."); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} return; } wikikod=hn.innerHTML; if(/^\s*$/g.test(wikikod)){StronicowyParser.muteks.odblokuj();return;} let headline=tab_hn[c].querySelector('.mw-headline'); if(!stronasubst_nie_usuwaj_styli){ StronicowyParser.style.PrzeniesStyleNaPoczatekArtykulu(wikikod); headline.innerHTML=StronicowyParser.style.UsunStyle(wikikod); }else{ headline.innerHTML=wikikod; } StronicowyParser.ZamieniajNazwyLinkuTOC(headline,true,stronasubst_latex); if(stronasubst_dymki_nad_linkami_w_ladowanych_dynamicznie_stronach){ if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawTagiIKlasyKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } if(StronicowyParser.gadgetdymkisubst&&StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo){ StronicowyParser.gadgetdymkisubst.UstawZdarzeniaKomunikatuInfo(headline).then((result) => {}).catch((error) => {}); } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } ++g; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } if(tab_promise2){tab_promise2.push(true);} setTimeout(()=>{ PraceNaglowki(tab_promise2).then((result) => {}).catch((error) => {}); },1000); function RozwazajNaglowki(){ let toc_fun=new StronicowyParser.ListaNodeTOC(); if((toc_fun.toc!==null)&&(toc_fun.toc.length>0)){ for(let w=0;w<toc_fun.toc.length;++w){ let czy_side_bar_toc=toc_fun.CzySideBarToc(toc_fun.toc[w]); let ile_jest=0; let li=toc_fun.toc[w].getElementsByTagName('li'); if((li!==null)&&(li.length>0)){ for(let dd=0;dd<li.length;++dd){ let element_li=li[dd]; let tocnumber;let toctext_wartosc; if(czy_side_bar_toc){ tocnumber=element_li.querySelector('.sidebar-toc-numb'); if(!tocnumber){continue;} toctext_wartosc=element_li.querySelector('.sidebar-toc-text').innerHTML.replace(new RegExp(StronicowyParser.wzor.BezZnakowSpecjalnych(tocnumber.outerHTML),"g"),""); }else{ tocnumber=element_li.querySelector('.tocnumber'); toctext_wartosc=element_li.querySelector('.toctext').innerHTML; } if((tocnumber!==null)&&(toctext_wartosc!==null)){ let czy_jest=undefined; let klasa_naglowka=element_strony.getElementsByClassName('klasa_nagłówka'); if((klasa_naglowka!==null)&&(klasa_naglowka.length>0)&&(klasa_naglowka[ile_jest]!=null)){ let element_klasa_naglowka=klasa_naglowka[ile_jest]; let headline=element_klasa_naglowka.querySelector('.mw-headline'); if((headline!==null) &&(headline.parentNode!==null) &&(headline.parentNode.tagName.toUpperCase().match(/^H\d+$/)) &&(headline.parentNode.parentNode!==null) &&(headline.parentNode.parentNode.tagName.toUpperCase()=="DIV") &&(headline.parentNode.parentNode===element_klasa_naglowka) ){ let element_a; if(czy_side_bar_toc){ element_a=tocnumber.parentNode.parentNode; }else{ element_a=tocnumber.parentNode; } if(element_a.tagName.toUpperCase()=="A"){ let href=StronicowyParser.kodowanie.DecodeHtml(element_a.getAttribute('href')); if(href!==null){ href=href.replace(/^#/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); let id_headline=headline.getAttribute('id'); if(id_headline!==null){ id_headline=id_headline.replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g,"_"); if(href!=id_headline){czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} }else{czy_jest=true;} if(czy_jest===undefined){ile_jest+=1;} if((czy_jest===undefined)||(!czy_jest)){ let element_toctext=StronicowyParser.style.UsunStyle(toctext_wartosc).replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/[_\s]+/g," "); if(stronasubst_tablica_rozdzialow[element_toctext]==null){ stronasubst_tablica_rozdzialow[element_toctext]=new Array(tocnumber); }else{ stronasubst_tablica_rozdzialow[element_toctext].push(tocnumber); } } } } } } } } StronicowyParser.LimitTOC(true,stronasubst_ukrywaj_toc); if(CzyWszystkieNaglowkiWewnatrzStronaStart()){ if((strona_start!==null)&&(strona_start.length>0)){ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(strona_start[0],true,stronasubst_latex,stronasubst_mathml); }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } }else{ StronicowyParser.DodawajRozdzialyDoTOCSpisTresci(undefined,true,stronasubst_latex,stronasubst_mathml); } $("#mw-content-text .mw-parser-output .spis_treści").has('ul li a').css('visibility',"visible"); if(globalne_zmienne.SideBarToc){SideBarToc();} if(globalne_zmienne.ScrollBarOverflow){ScrollBarOverflow();} let action_view=document.querySelector('body.action-view:not(.ns-special)'); if((action_view)&&(StronicowyParser.CzyWlaczycSideBarTOC(undefined,true))){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').on('click',function(e){ ToogleTableOfContainer(e); ScrollTableOfContainer(e); }); $('body.skin-vector-search-vue .mw-table-of-contents-container #mw-panel-toc').hover(ScrollTableOfContainer,ScrollTableOfContainer); ScrollTableOfContainer(); $(window).on('scroll',ScrollTableOfContainer); } } RozwazajNaglowki(); if(stronasubst_mathml){ $("div.toc ul > li > a > span.toctext").toggleClass("mathml"); $("div.toc_spis ul > li > a > span.toctext").toggleClass("mathml"); $("div.mw-table-of-contents-container > nav.sidebar-toc ul > li > a > div.sidebar-toc-text").toggleClass("mathml"); } function Strona(strona){ let strona_re=StronicowyParser.wzor.BezZnakowSpecjalnych(strona); let re=new RegExp("^\\s*"+strona_re+"\\s*#","g"); return re; } function CzyArtykulyZNaglowkamiDlaStrony(re){ for(let s in titles){ let czy_hash=titles[s].match(re); if(czy_hash){ return true; } } return false; } let catlinks_fun=new StronicowyParser.LinkiKategorii(); await catlinks_fun.PobierzKategorieStrony(); for ( let t in titles ) { let strona=titles[t].match(/^[^#]*/g).toString(); let szablon_artykulu; let re_strona=Strona(strona); let czy_naglowki=CzyArtykulyZNaglowkamiDlaStrony(re_strona); if(!czy_naglowki){ szablon_artykulu="{{:"+strona+"}}"; }else{ /*---------------------------------*/ let rozdzial1=null; let re=/^([^#]*)#(.*)$/g; if(re.test(titles[t])){ rozdzial1=titles[t].replace(re,"$2"); rozdzial1=rozdzial1.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial1="";} let rozdzial2=null; let tit=titles[parseInt(t)+1]; if( tit && re.test(tit) && re_strona.test(tit)){ rozdzial2=tit.replace(re,"$2"); rozdzial2=rozdzial2.replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/<i>/g,"''").replace(/<\/i>/g,"''").replace(/<b>/g,"'''").replace(/<\/b>/g,"'''"); }else{rozdzial2="";} /*---------------------------*/ szablon_artykulu="{{#invoke:Ramka|Rozwiń|{{#invoke:StronicowyParser|TekstRozdziałuStrony|"+strona+"|"+rozdzial1+"|"+rozdzial2+"}}}}"; } szablon_artykulu="{{PrzytnijTekst|"+szablon_artykulu+"}}"; if(stronasubst_opakuj_kategorie_ze_sortowaniem){ szablon_artykulu="{{OpakujKategorieZeSortowaniem|"+szablon_artykulu+"}}" } if(tab_promise2){tab_promise2.push(true);} StronicowyParser.api.ZadaniaApi({ action: 'parse', format: 'json', prop: 'text|categories', title: strona, text: "<div class=\"hn hn_"+t+"\">\n"+szablon_artykulu+"\n</div>", disabletoc: true, disablelimitreport: true, contentmodel: 'wikitext', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); catlinks_fun.AnalizaKategorii(data).then((result) => {}).catch((error) => {}); if(tab_promise2){tab_promise2.push(true);} WikikodTitle(data,tabs,titles,tabstrona,stronasubst_latex,stronasubst_mathml,tab_promise2).then((result) => {}).catch((error) => {}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch(()=>{if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } function CzyszczenieZZdarzeńTableOfContent(){ let toc_nowy_vector=$('.mw-table-of-contents-container'); if((toc_nowy_vector!==null)&&(toc_nowy_vector.length>0)){ let sidebartoc=toc_nowy_vector.children('.sidebar-toc'); if((sidebartoc!==null)&&(sidebartoc.length>0)){ let kopia=sidebartoc[0].cloneNode(true); $(sidebartoc[0]).parent().each((i,rodzic)=>{ rodzic.replaceChild(kopia,sidebartoc[0]); }); } } } CzyszczenieZZdarzeńTableOfContent(); let tab_promise2=new StronicowyParser.SugerowaneObiekty(); async function CzyStronaSubst(element,aktualna_strona,tab_promise2){ if(tab_promise2){tab_promise2.push(true);} await StronicowyParser.muteks.zablokuj(); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronaSubst}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(); let wikikod=data.expandtemplates.wikitext; if((wikikod!==null)&&(aktualna_strona!==null)){ if(tab_promise2){tab_promise2.push(true);} StronaSubst(element,wikikod,aktualna_strona,tab_promise2).then((result) => {}).catch((error) => {}); } StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} }).catch((error) => {if(tab_promise2){tab_promise2.pop();}}); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} } let aktualna_strona=StronicowyParser.pageinfo.fullname; if(tab_promise2){tab_promise2.push(true,true);} CzyStronaSubst(document,aktualna_strona,tab_promise2); StronicowyParser.muteks.odblokuj(); if(tab_promise2){tab_promise2.pop();} function Progress(){ var c=document.createElement('div'); c.setAttribute("id","pasek_postępu") c.setAttribute('style','line-height:1.2em;margin-top:-2px;margin-left:-2px;position:absolute;width:250px;height:80px;border:1px solid black;box-sizing:border-box;padding:6px;background-color:white;display:flex;flex-direction:column;box-sizing:border-box;'); var label=document.createElement('label'); label.setAttribute('for','file1'); label.innerHTML="<span style=\"color:blue;\">Ukończone wątki: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_0=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file1') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;'); progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_1=c.appendChild(progress); var label=document.createElement('label'); label.setAttribute('for','file2'); label.innerHTML="<span style=\"color:blue;\">Zwolnione blokaty: </span>"; label.setAttribute('style','font-size:17px;padding-right:10px;padding-left:10px;height:100%;box-sizing:border-box;'); var span=document.createElement('span'); span.innerHTML="0%"; var span_1=label.appendChild(span); c.appendChild(label); var progress=document.createElement('progress'); progress.innerHTML="0%"; progress.setAttribute('id','file2') progress.setAttribute('style','margin-left:5px;width:95%;height:100%;box-sizing:border-box;') progress.setAttribute("max","100"); progress.setAttribute('value',"0"); var element_body_progress_2=c.appendChild(progress); function PozycjaXY(){ c.style.top=(window.scrollY+document.documentElement.clientHeight-parseFloat(c.style.height))+"px"; c.style.left=(window.scrollX+document.documentElement.clientWidth-parseFloat(c.style.width))+"px"; } document.querySelector('body').appendChild(c); PozycjaXY(); $(window).on('scroll',PozycjaXY); $(window).on('resize',PozycjaXY); return new Array(element_body_progress_1,element_body_progress_2,span_0,span_1); } var arr; function __FUNKCJA(arr){ arr[0].setAttribute("value","0"); arr[1].setAttribute("value","0"); let dodatnie_0=tab_promise2.lengthPlus; let ujemne_0=tab_promise2.lengthMinus; let dodatnie_1=StronicowyParser.muteks.LiczbaBlokatPlus; let ujemne_1=StronicowyParser.muteks.LiczbaBlokatMinus; let postep_0=((dodatnie_0>0)?((ujemne_0/dodatnie_0)*100):0); let postep_1=((dodatnie_1>0)?((ujemne_1/dodatnie_1)*100):0); arr[0].setAttribute("value",postep_0); arr[1].setAttribute("value",postep_1); arr[2].innerHTML=(parseInt(postep_0*1000)/1000)+"%"; arr[3].innerHTML=(parseInt(postep_1*1000)/1000)+"%"; } StronicowyParser.CzekajNaZakaczenie(tab_promise2,null,StronicowyParser.muteks,(tab_promise)=>{arr=Progress();__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);},(tab_promise)=>{__FUNKCJA(arr);setTimeout(function(){let node_postep=document.getElementById('pasek_postępu');$(node_postep).remove();},2000);}).then(async (result) => {}).catch(()=>{}); }; StronicowyParser.WyswietlStronyKsiazki().then((result) => {}).catch((error) => {}); }); pkmpexlw88kpe7wma9w7kjn05zhgwzd Wikipedysta:Persino/vector-2022.css 2 58229 437682 437453 2022-08-13T17:47:25Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'cc cc cc' auto 'bb bb bb' auto '.. .. ee' auto 'dd dd dd' auto / minmax(auto,100%) minmax(auto,100%) auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:cc; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:bb; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ee; height:20px; width:136px; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:dd; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'bb' auto 'cc' auto 'dd' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:bb; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:cc; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:dd; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'cc bb bb' auto 'cc dd ee' auto 'cc ff ff' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:cc; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:dd; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:ee; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ff; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; margin-top:3px; margin-left:0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:5px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 5px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 5px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 15px 8px 15px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{ min-width:822px; box-sizing:border-box; display:block; height:auto; position:relative; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{ display:block; content:''; clear:both; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{ margin-top:13px; margin-bottom:10px; } body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px !important; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } 57v5vxhd26lj1i4w1ihl235ec7h42va 437683 437682 2022-08-13T18:06:40Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'cc cc cc' auto 'bb bb bb' auto '.. .. ee' auto 'dd dd dd' auto / minmax(auto,100%) minmax(auto,100%) auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:cc; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:bb; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ee; height:20px; width:136px; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:dd; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'bb' auto 'cc' auto 'dd' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:bb; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:cc; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:dd; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'cc bb bb' auto 'cc dd ee' auto 'cc ff ff' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:cc; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:dd; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:ee; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ff; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; margin-top:3px; margin-left:0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:5px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 5px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 5px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 15px 8px 15px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{ min-width:822px; box-sizing:border-box; display:block; height:auto; position:relative; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{ display:block; content:''; clear:both; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{ margin-top:13px; margin-bottom:10px; } body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px !important; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{ display:block; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } 3vr2la5wh2dw9cmnrhavwkl7isqt2tc 437684 437683 2022-08-13T18:07:22Z Persino 2851 css text/css body.skin-vector-search-vue .mw-page-container{ max-width:100%; min-width:988px; padding-left:0; padding-right:0; border-left: 0; border-right: 0; box-sizing:border-box; display:block; width:100%; background-color:white; height:auto; } body.skin-vector-search-vue .mw-content-container{ max-width:100%; box-sizing:border-box; padding-left:0 !important; } body.skin-vector-search-vue .mw-logo-container{ margin-left: 10px; margin-right:0; } body.skin-vector-search-vue #p-lang-btn-label{ font-size:14px !important; line-height:1.2em !important; white-space:nowrap; } body.skin-vector-search-vue .mw-indicators{ font-size: calc( 14px * 0.875 ); line-height: 2.0em; white-space:nowrap; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{ display:grid; grid: 'aa aa aa' auto 'cc cc cc' auto 'bb bb bb' auto '.. .. ee' auto 'dd dd dd' auto / minmax(auto,100%) minmax(auto,100%) auto } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{ grid-area:cc; margin:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ grid-area:bb; top:0; width:auto !important; height:auto !important; margin:0; margin-right:10px; box-sizing:border-box; border-bottom: 1px solid #a2a9b1; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{ grid-area:ee; height:20px; width:136px; height:auto; margin-left:auto; top:0; margin: auto 5px 0 5px; padding-bottom:8px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{ grid-area:dd; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{ display:grid; grid: 'aa bb' auto / minmax(auto,1fr) auto; width:100%; min-height: 46px; box-sizing: border-box; position: relative; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{ display:block !important; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; margin-bottom:2px; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom: 0; margin-top: auto; border-bottom: none; padding-left: 3px; padding-right: 3px; border-bottom: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{ grid-area: bb; width: auto; height: 1.6em; margin-bottom: 5px; margin-top: auto; margin-right: 5px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{ padding-bottom:2px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{ grid-area:bb; right:0; margin:0; height:auto; width:auto; margin-top: auto; margin-bottom:0; padding: 0 3px; box-sizing:border-box; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ display:grid; grid:'aa bb' auto / minmax(auto,100%) auto; border-bottom:1px solid #a2a9b1; margin-top:auto; margin-bottom:0; min-height:46px; box-sizing:border-box; position:relative; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover), body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){ grid-area:aa; width:100%; max-width:fit-content; max-width:-moz-fit-content; margin-bottom:0; margin-top:auto; border-bottom:none; padding-left:3px; padding-right:3px; border-bottom:0; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{ grid-area:bb; right:0; margin:0; height:auto; width:100%; margin:auto 0 0 auto; padding: 0 10px; box-sizing:border-box; } body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator, body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{ padding: 2px 0 2px 0; margin: auto 0 0 0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content, body.skin-vector-search-vue.action-view.ns-special #content, body.skin-vector-search-vue:not(.action-view) #content{ display:grid; grid:'aa' auto 'bb' auto 'cc' auto 'dd' auto / auto; width:100%; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top, body.skin-vector-search-vue.action-view.ns-special #content > #top, body.skin-vector-search-vue:not(.action-view) #content > #top{ grid-area:aa; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar, body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar, body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{ grid-area:bb; } body.skin-vector-search-vue .mw-body-header::after{ display:none; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header, body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header, body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{ grid-area:cc; margin:0; margin-right:10px; width:auto; padding-bottom:0; } body.skin-vector-search-vue .mw-body-subheader{ border-bottom:0; } /*body.skin-vector-search-vue #siteSub,*/ body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{ display:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /*body.skin-vector-search-vue .firstHeading{ text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA; }*/ body.skin-vector-search-vue .firstHeading > .plainlinks{ text-shadow:none; } body.skin-vector-search-vue .firstHeading:not(:hover){ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-bottom:0; } body.skin-vector-search-vue .firstHeading:hover{ display:block; border:1px solid #eaecf0; border-radius:10px; background-color:white; position:absolute; top:5px; left:-3px; width:auto; padding:5px; z-index:1 !important; } body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{ display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{ margin: 2px 0 3px 0; min-height:1.6em; } body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader, body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{ margin: 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{ margin:0; margin-top: -2.0em; font-size: 1.2em; height: 2em; margin-bottom:5px; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{ display:block !important; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{ margin-left:5px; margin-right:3px; display:block; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{ display:block; } body.skin-vector-search-vue .firstHeading, body.skin-vector-search-vue .firstHeading > .plainlinks{ max-width:100%; width:auto; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent, body.skin-vector-search-vue.action-view.ns-special #content #bodyContent, body.skin-vector-search-vue:not(.action-view) #content #bodyContent{ grid-area:dd; } body.skin-vector-search-vue .mw-article-toolbar-container, body.skin-vector-search-vue .mw-content-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-page-container-inner{ display:grid; grid:'aa aa aa' auto 'cc bb bb' auto 'cc dd ee' auto 'cc ff ff' minmax(auto,1fr) / auto minmax(auto,1fr) auto; width:auto; box-sizing:border-box; row-gap:0; } body.skin-vector-search-vue .mw-page-container-inner > .mw-header{ grid-area:aa; } body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{ grid-area:bb; } body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{ grid-area:cc; } body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{ grid-area:dd; grid-column:auto !important; } body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{ grid-area:ee; } body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{ grid-area:ff; } /**/ body.skin-vector-search-vue .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent, body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content, body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{ width:100%; box-sizing:border-box; } body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views { display: block; } body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item { display: none; } body.skin-vector-search-vue .mw-sidebar{ background-color: white; width:140px; box-sizing:border-box; display:block !important; visibility: visible !important; opacity: 1 !important; padding:0; margin-left:0; } body.skin-vector-search-vue .ui-dialog{ font-size:75%; } body.skin-vector-search-vue .mw-body-content .error{ font-size:96%; } body.skin-vector-search-vue.action-purge .firstHeading{ padding-bottom:3px; } body.skin-vector-search-vue .firstHeading .plainlinks{ line-height:1.2em !important; } body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{ display:block; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{ width:0; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{ width:140px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:absolute; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{ position:relative; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:-140px; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{ left:0; position:relative; width:140px; transition: left 250ms ease-out; transition-property: left; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-article-toolbar-container{ max-width:100%; box-sizing:border-box; position:relative; z-index:1; } body.skin-vector-search-vue .mw-footer-container{ padding-top:0; } body.skin-vector-search-vue .mw-content-container > .mw-body{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{ margin-left:0; margin-right:0; } body.skin-vector-search-vue .mw-footer-container .mw-footer{ margin-left:10px; margin-right:0; padding: 0.75em 5px; } body.skin-vector-search-vue .mw-header { display:flex; flex-direction: row; margin: 8px 5px 0 5px; } body.skin-vector-search-vue .mw-workspace-container #mw-head{ min-width:832px; margin-right:5px; box-sizing:border-box; } body.skin-vector-search-vue .mw-logo-icon{ display:block; } body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item { display: block; } body.skin-vector-search-vue .vector-search-box-collapses > div{ display:block; } body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{ display:none; } body.skin-vector-search-vue .vector-sticky-header{ height:3.2em; padding: 6px 25px; display:flex; flex-direction:row; min-width:700px; margin-left:auto; margin-right:auto; width:90%; text-align:center; box-sizing:border-box; } @media screen and (max-width: 830px){ body.skin-vector-search-vue .vector-sticky-header{ display: none; } } html.client-nojs body.skin-vector-search-vue .vector-sticky-header{ display:none !important; } body.skin-vector-search-vue .wvui-typeahead-suggestion{ padding-top:4px; padding-bottom:4px; text-align:left; } body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{ flex-basis: 460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{ font-size:calc( 14px * 1.042 ); line-height:1.2em; height:30px; min-height:30px; box-sizing:border-box; } body.skin-vector-search-vue #p-search #searchform #simpleSearch, body.skin-vector-search-vue .vector-search-box{ width:460px; } body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{ margin-left:10px; width:460px; box-sizing:border-box; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{ margin-left:0; box-sizing:border-box; width:460px; } .client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{ left:0; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{ margin-left:10px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ width:460px; box-sizing:border-box; } body.skin-vector-search-vue .vector-search-box-vue .searchButton{ background-size: 20px auto; } .client-js body.skin-vector-search-vue .vector-search-box-input{ padding-left:36px; padding-right:8px; } body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{ max-width:460px; } body.skin-vector-search-vue .mw-logo{ min-width:144px; } body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{ font-size:14px; } body.skin-vector-search-vue .mw-sidebar-action{ display:none; } body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{ font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif; font-stretch:normal; font-variant:normal; font-style:normal; font-weight:normal; font-size-adjust:none; letter-spacing:normal; word-spacing:normal; text-align:left; word-wrap:break-word; hyphens:auto; } body.skin-vector-search-vue{ font-size:calc( 14px * 1.042 ); line-height:1.2em; background-color:#ffffff; } body.skin-vector-search-vue .mw-editsection{ font-size:12px; line-height:1.2em; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty, body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty), body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){ margin-bottom:5px; margin-top:3px; margin-left:0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty, body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty), body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2, body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){ margin:5px 0; } body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:empty{ margin:0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty{ margin:2px 0 3px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{ margin:10px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty), body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{ margin: 5px 0 2px 0; } body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){ margin: 5px 0 3px 0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub, body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{ margin:0; } body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{ margin-top:0; } body.skin-vector-search-vue.action-view #pwContent, body.skin-vector-search-vue:not(.action-view) #pwContent, body.skin-vector-search-vue.action-view .subpages, body.skin-vector-search-vue:not(.action-view) .subpages{ margin:0; font-size:12px; line-height:1.2em; margin-bottom:6px; } body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox, body.skin-vector-search-vue:not(.action-view) .warningbox{ margin:10px 0; } body.skin-vector-search-vue #mw-previewheader{ margin-top:14px; margin-bottom:10px; } body.skin-vector-search-vue .mw-userconfigpublic{ margin-top:8px; } body.skin-vector-search-vue .mw-contributions-user-tools{ margin-bottom:6px; } body.skin-vector-search-vue:not(.action-view) .mw-body, body.skin-vector-search-vue.action-view.ns-special .mw-body{ padding: 8px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body, body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{ padding: 4px 0 10px 8px; position:relative; z-index:0; } body.skin-vector-search-vue #centralNotice:not(:empty){ margin:10px 15px 8px 15px; } body.skin-vector-search-vue .mw-content-container{ min-width:848px; } body.skin-vector-search-vue #content{ margin-left:0px; min-width:848px; box-sizing:border-box; } body.skin-vector-search-vue #mw-content-text{ clear:both; } body.skin-vector-search-vue #bodyContent{ box-sizing:border-box; min-width:832px; height:auto; clear:both; padding: 0 15px 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{ padding: 0 8px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{ margin-right:3px !important; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{ min-width:822px; box-sizing:border-box; display:block; height:auto; position:relative; } body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after, body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{ display:block; content:''; clear:both; } body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type, body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{ margin-top:0 !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{ margin-top:5px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{ margin-top:0px !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{ margin-top:0.5em !important; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5, body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{ margin-top:0.8em; } body.skin-vector-search-vue .tdg-editscreen-main{ margin-top:9px; margin-bottom:10px; } body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{ margin: 0 0 4px 0; } body.skin-vector-search-vue .mw-rcfilters-head{ margin-bottom:15px; } body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{ min-height: 280px; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{ margin-top:0; box-sizing:border-box; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{ margin-top:10px !important; box-sizing:border-box !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){ margin-top:3px !important; margin-bottom:3px !important; } body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{ margin-top:3px !important; margin-bottom:0 !important; } body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{ display:block table; box-sizing:border-box; position:relative; width:100%; height:auto; margin:0; margin-bottom:5px; border-spacing:0; padding:0; border-collapse:collapse; border:0; } body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){ margin: 5px 0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{ margin-top:0.3em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{ margin-top:0.5em; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type, body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{ margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{ margin-bottom:0.3em; } body.skin-vector-search-vue pre{ margin-top:8px; margin-bottom:8px; padding:11px; background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; box-sizing:border-box; } body.skin-vector-search-vue div.mw-highlight > pre{ margin-top:8px; margin-bottom:8px; } body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:5px; margin-bottom:0; } body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:5px; } body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-top:0px; margin-bottom:0; } body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{ margin-bottom:0 !important; margin-top:0 !important; } body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{ margin:0 0 8px 0; } body.skin-vector-search-vue .mw-body > h1{ margin-bottom:0; } body.skin-vector-search-vue #central-auth-images{ display:none; } body.skin-vector-search-vue .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{ margin-top:6px; margin-bottom:10px; } body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{ margin-top:13px; margin-bottom:10px; } body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{ margin-top:10px; margin-bottom:10px; } body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box, body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{ margin-bottom:10px; margin-top:0; } body.skin-vector-search-vue #wikiPreview.ontop{ margin-bottom:5px; } body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{ max-width:100%; } body.skin-vector-search-vue .previewnote{ margin-bottom:10px; } body.skin-vector-search-vue form#editform{ margin-top:5px; margin-bottom:5px; } body.skin-vector-search-vue #editform::after{ display:block; } body.skin-vector-search-vue .editOptions{ margin-bottom:10px; } body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{ margin-bottom:10px; } body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child, body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{ margin-bottom:0; margin-top:0; } body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{ margin-top:15px !important; } body.skin-vector-search-vue .mw-category-generated{ margin-bottom:5px; } body.skin-vector-search-vue .mw-editfooter-list{ margin-bottom:0; } body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{ margin-top:0; } body.skin-vector-search-vue .vector-menu-portal { margin: 0; margin-left:5px; padding: 0.2em 0 0 0; direction: ltr; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{ margin-left: 3px; } body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content { margin-left: 0; } body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{ margin-left:3px; } body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{ margin-top:0; } body.skin-vector-search-vue .mw-delete-warning-revisions{ display:block; margin-top:10px; } body.skin-vector-search-vue #p-lang-btn-label{ min-height:25px; padding:5px 25px 3px 5px; } body.skin-vector-search-vue .mw-delete-editreasons + h2, body.skin-vector-search-vue .mw-protect-editreasons + h2{ margin-top:0 !important; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right:0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{ margin-right: 0; padding-right:0; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right:4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{ margin-right: 4px; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{ display: flex; content: ''; width: auto; flex-direction: row; flex: 1 1 auto; box-sizing:border-box; } body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{ right:0; } body.skin-vector-search-vue .mw-table-of-contents-container{ direction: rtl; align-self:auto; background-color:white; background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png'); z-index:1; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ margin-right:8px; margin-left:5px; } body.skin-vector-search-vue .mw-table-of-contents-container{ max-width:200px; box-sizing:border-box; position:static; margin-bottom:5px; } body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{ width:200px; max-height:100%; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ width:200px; direction: rtl; overflow-x:hidden; overflow-y:auto; margin-right:0; margin-left:0; display:block !important; border:0 !important; max-height:100%; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:0 !important; top:54px !important; max-height:calc( 100vh - 54px ) !important; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ margin-top:54px !important; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{ direction:ltr; } html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ position:sticky; top:5px; } html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ top:0; position:absolute; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{ max-width:700px; min-width:200px; display:block; left:auto; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{ display:none; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){ width:200px; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{ width:auto; transition: width 250ms ease-out; transition-property: width; transition-duration: 250ms; transition-timing-function: ease-out; transition-delay: 0s; } body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{ display:inline; } body.skin-vector-search-vue .mw-article-toolbar-container{ margin-left:0 !important; } body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container, body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container { margin-left: 0 !important; } /*body.skin-vector-search-vue .vector-body h1, body.skin-vector-search-vue .vector-body h2, body.skin-vector-search-vue .vector-body h3, body.skin-vector-search-vue .vector-body h4, body.skin-vector-search-vue .vector-body h5, body.skin-vector-search-vue .vector-body h6{ margin-top:0.8em; }*/ body.skin-vector-search-vue .mw-history-subtitle{ margin-bottom:6px; } body.skin-vector-search-vue .printfooter{ display:block; margin: 5px 0; padding:5px; white-space:normal; border: 1px solid #eaecf0; box-sizing:border-box; background-color: white; } .client-js body.skin-vector-search-vue .mw-search-form-wrapper { min-height: 112px; } body.skin-vector-search-vue .noarticletext{ margin-bottom:5px; } body.skin-vector-search-vue .mw-menu-active{ background-color:#E6E6FA; } body.skin-vector-search-vue .mw-menu-inactive{ background-color:#EEE8AA; } body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{ padding-left:5px !important; padding-right:5px !important; margin-left:0 !important; display:block; border-radius:5px; border:1px solid #a2a9b1; margin-top:3px; } body.skin-vector-search-vue .mw-items-active{ display:block; border-radius:5px; border:1px solid #a2a9b1; padding: 0 5px; margin-top:2px; } body.skin-vector-search-vue .mw-items-active > ul{ margin-top:0; } body.skin-vector-search-vue .mw-items-inactive{ display:none; } body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{ margin-left:0px !important; } body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){ display:none; } sx9v4g7c9mmyezp47dw2y36gqcf8nc6 Wikipedysta:Persino/Gadget-StronicowyParser.js/NumerSubst.js 2 58332 437662 437659 2022-08-13T12:06:55Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") }else if(tag=="A"){ if($(element).children('.tocnumber, .toctext').length==0){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } } }else if(tag=="LI"){ let kopia=element.cloneNode(true); $(kopia).children('ul, ol').remove(); if($(kopia).find('a').length==0){ let zawartosc=kopia.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); console.log(wikikod,czy_wikikod,"MAMUT1") if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); console.log("MAMUT2") if(artykul==""){ console.log("MAMUT3") if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); onvop2sl292tayx0rasi2068b5hpe9n 437663 437662 2022-08-13T12:09:34Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); //if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") }else if(tag=="A"){ if($(element).children('.tocnumber, .toctext').length==0){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } } }else if(tag=="LI"){ let kopia=element.cloneNode(true); $(kopia).children('ul, ol').remove(); if($(kopia).find('a').length==0){ let zawartosc=kopia.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); a4h7t9wrfvke3keb7zz92zspfuc75h2 437686 437663 2022-08-13T19:21:44Z Persino 2851 javascript text/javascript mw.loader.using('ext.gadget.gConfig', function(){ let globalne_zmienne=this; StronicowyParser.NumerowanieNaglowkow=function(){ let gadget_numerowanie=undefined; if((globalne_zmienne.gConfig!==undefined)&&(globalne_zmienne.gConfig.register!==undefined)&&(globalne_zmienne.gConfig.get!==undefined)){ mw.messages.set({ 'NumerSubst-numerowanie': 'Włącz numerowanie nagłówków.', 'NumerSubst-name': 'Numerowanie nagłówków', 'NumerSubst-description-page': 'Wikibooks:StronicowyParser/NumerSubst', }); gConfig.register('NumerSubst', {name: mw.msg('NumerSubst-name'), descriptionPage: mw.msg('NumerSubst-description-page')}, [ { name: 'numerowanie', desc: mw.msg('NumerSubst-numerowanie'), type: 'boolean', deflt: true, legacy: [window, 'wb_NumerSubst-numerowanie'] }]); gadget_numerowanie=(gConfig.get('NumerSubst', 'numerowanie')==true); } //let podglad=document.querySelector('body:not(.action-view)'); //if(podglad){return;} gadget_numerowanie=((gadget_numerowanie!==undefined)?gadget_numerowanie:true); let zmienna_this=this; this.NumerowanieNaglowkowStron=async function(id_numerowanie,prefix,tab_promise){ await StronicowyParser.muteks.zablokuj(true); var headline=id_numerowanie.getElementsByClassName('mw-headline'); //if((headline==null)||(headline.length==0)){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename; let namespacenumber = StronicowyParser.pageinfo.namespacenumber; let bookname=StronicowyParser.pageinfo.bookname; let diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g; let diff_user=/^[^\/]*\/[^\/]*$/g; let wikijunior_mainpage="Strona_główna"; let test_main_page=(((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2)) || ((namespacenumber == 104) && (bookname == wikijunior_mainpage)) || ((namespacenumber == 4) && (! diff_brudnopis.test(bookname))) || ((namespacenumber == 2) && (! diff_user.test(bookname))) ); let json_wikikod=null; if((prefix=="")&&(artykul=="")&&(!test_main_page)){ //if(tab_promise){tab_promise.push(true);}; await StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|PobierzDaneKsiążki||nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki='+aktualna_strona+'|wyspecjalizowana=tak}}', smaxage: 600, maxage: 600, }).then(function(data){ // await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; json_wikikod=JSON.parse(wikikod); // StronicowyParser.muteks.odblokuj(); // if(tab_promise){tab_promise.pop();} }).catch(()=>{}); } function CzyMaNumeracje(){ if(json_wikikod){ for(let p in json_wikikod){ for(let s in json_wikikod[p]){ for(let f in json_wikikod[p][s]){ if(((f!="")?true:false)){return true;} } } } } return false; } let czy_ma_numeracje=CzyMaNumeracje(); console.log(json_wikikod,"MAMUT1"); if(!czy_ma_numeracje){json_wikikod=null;} console.log(json_wikikod,czy_ma_numeracje,"MAMUT2"); let hnumer=new StronicowyParser.HNumer(); let fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); let fun_hnumer_2=new Array(); let fun_hnumer_3=new Array(); let fun_strona_hnumer=new Array(); let numeracja=new Array(0); let numeracja_2=new Array(); let numeracja_3=new Array(); let poziom_naglowka_podrecznika=undefined; let tab_spis_tresci={"Spis treści":true,} let artykuly_ze_spisem_tresci={"Spis treści":true,} let fullname=StronicowyParser.pageinfo.fullname; let tak=false; let tak_poprzednie=Array(); let poziom_naglowka_spisu_tresci=new Array(); let poziom_naglowka_spisu_tresci2=new Array(false); let numeracja_strona=Array(); let pierwszy_naglowek=true; let jeden_glowny_naglowek=false; let pierwszy_naglowek_2=new Array(); let jeden_glowny_naglowek_2=new Array(); let headline_artykul=$('#mw-content-text .mw-parser-output .mw-headline'); let prefix2=Array();let artykul2=Array();let jeden_glowny_naglowek2=Array();let pierwszy_naglowek2=Array(); let strona_start_poprzednie=Array(); let strona_start=$('.strona_start'); let czy_id_numerowanie=strona_start.find(id_numerowanie); let prefix_strona_start=undefined;; let artykul_strona_start=artykul; let main_spis_tresci=undefined; async function Headline(i,element_headline){ //let element_headline=headline[i]; let parent=element_headline.parentNode; if(!parent){ return; }else{ let h=parent.tagName.toUpperCase(); if(/^H\d+$/g.test(h)){ let numer=h.replace(/^H/g,""); numer=parseInt(numer); if((isNaN(numer))||(numer<1)||(numer>6)){ return; } }else{ return; } } let strona_aktualna=$('.strona_start').find(element_headline).parents('.strona_start'); async function PrefixNumeracji(){ let tab_promise=new Array(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{ArtykułSubst|pobierz pełną nazwę artykułu=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ let artykul_subst=data.expandtemplates.wikitext; if(artykul_subst!==fullname.replace(/[\s_]+/g," ")){ artykul_strona_start=(!/^[^\/]*$/g.test(artykul_subst))?(artykul_subst.replace(/^[^\/]*\/(.*)$/g,"$1")):""; tab_promise.push(true); StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: artykul_subst, text: '{{PobierzNumerArtykułu|'+artykul_strona_start+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ wikikod=data.expandtemplates.wikitext; if(!/^\s*$/g.test(wikikod)){ prefix_strona_start=wikikod+"."; }else{ prefix_strona_start=""; } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); } tab_promise.pop(); }).catch(()=>{tab_promise.pop();}); return StronicowyParser.CzekajNaZakaczenie(tab_promise); } let elem=$(element_headline).parents(".strona_start"); if((elem!==null)&&(elem.length>0)&&(((strona_start_poprzednie.length>0)&&(strona_start_poprzednie[strona_start_poprzednie.length-1]!==elem[0]))||(strona_start_poprzednie.length==0))){ strona_start_poprzednie.push(elem[0]); fun_strona_hnumer.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_strona.push(numeracja); numeracja=new Array(); tak_poprzednie.push(tak); tak=false; pierwszy_naglowek2.push(pierwszy_naglowek); pierwszy_naglowek=true; prefix2.push(prefix); artykul2.push(artykul); jeden_glowny_naglowek2.push(jeden_glowny_naglowek); pierwszy_naglowek2.push(pierwszy_naglowek); poziom_naglowka_spisu_tresci2.push(false); if((strona_start.length>0)&&(czy_id_numerowanie)&&(czy_id_numerowanie.length==0)){ await PrefixNumeracji(); if(prefix_strona_start){ prefix=prefix_strona_start; artykul=artykul_strona_start; prefix_strona_start=undefined; } }else{ artykul=artykul_strona_start; prefix_strona_start=undefined; } }else if((strona_start_poprzednie.length>0)&&((elem===null)||(elem.length==0))){ strona_start_poprzednie.pop(); fun_hnumer=fun_strona_hnumer.pop(); numeracja=numeracja_strona.pop(); tak=tak_poprzednie.pop(); prefix=prefix2.pop(); pierwszy_naglowek=pierwszy_naglowek2.pop(); artykul=artykul2.pop(); jeden_glowny_naglowek=jeden_glowny_naglowek2.pop(); poziom_naglowka_spisu_tresci2.pop(); } let rozdzial=element_headline.innerHTML.replace(/<style\s*>(.*)<\/style>/g,"").replace(/<style\s+[^<>]*>(.*)<\/style>/g,"").replace(/<[^<>]+>/g,"").replace(/^[_\s]*/g,"").replace(/[_\s]*$/g,"").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/[_\s]+/g," "); let poziom_naglowka=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka===null){StronicowyParser.muteks.odblokuj();return;} if(pierwszy_naglowek){ function CzyTylkoJedenGlownyNaglowek(){ let spis=undefined; if((artykul!="")&&(!StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul))){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } for(let m=i+1;m<headline_artykul.length;++m){ let element_headline=headline_artykul[m]; let head=$(headline_artykul[m]).parents('.strona_start'); if((strona_start_poprzednie.length==0)||((head!==null)&&(head.length>0)&&(head[0]==strona_start_poprzednie[strona_start_poprzednie.length-1]))){ let parent=element_headline.parentNode; let poziom_naglowka_nastepny=StronicowyParser.hnumer.PoziomNaglowka(parent); if(poziom_naglowka_nastepny<=poziom_naglowka){ jeden_glowny_naglowek=false; pierwszy_naglowek=false; return; } } } jeden_glowny_naglowek=true; pierwszy_naglowek=false; } CzyTylkoJedenGlownyNaglowek(); } numer=fun_hnumer(poziom_naglowka); if((tak)&&(poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1])&&(poziom_naglowka_spisu_tresci.length>0)&&(poziom_naglowka_spisu_tresci[poziom_naglowka_spisu_tresci.length-1]>=poziom_naglowka)){ fun_hnumer=fun_hnumer_3.pop(); numeracja=numeracja_3.pop(); poziom_naglowka_spisu_tresci.pop(); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=false; } let numeruj=$(parent).parents('.numeruj').parents('#mw-content-text .mw-parser-output'); let table=$(parent).parents('table').parents('#mw-content-text .mw-parser-output'); let nie_numeruj=$(parent).parents('.nie_numeruj').parents('#mw-content-text .mw-parser-output'); if(((table!==null)&&((table.length>0)&&(numeruj!==null)&&(numeruj.length>0)))||(((table==null)||(table.length==0))&&((nie_numeruj==null)||(nie_numeruj.length==0)))){ let nazwa=element_headline.innerHTML.replace(/<[^<>]+>/g,""); let rozdzial_naglowka=undefined; if((json_wikikod)&&(json_wikikod[nazwa])){ let rozdzial=json_wikikod[nazwa]; for(let p in rozdzial){rozdzial_naglowka=p;break;} } let rozdzial_json=json_wikikod&&((((main_spis_tresci)&&(json_wikikod[main_spis_tresci])&&(json_wikikod[main_spis_tresci][""]))?json_wikikod[main_spis_tresci][""][nazwa]:null)||json_wikikod[nazwa]); if((!json_wikikod)||((json_wikikod[nazwa])&&(json_wikikod[nazwa][""]))||(!rozdzial_json)||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ console.log(nazwa,"TYTANA") main_spis_tresci=(((json_wikikod)&&(json_wikikod[nazwa]))?nazwa:null); let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(numeracja.length<numer){numeracja.push(1);} else if(numeracja.length>numer){numeracja=numeracja.slice(0,numer);numeracja[numer-1]+=parseInt(1);} else if(numeracja.length==numer){numeracja[numer-1]+=parseInt(1);}; if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+".&nbsp;"; } }else{ console.log(nazwa,"TYTANB") let numer_rozdzialu; for(let p in rozdzial_json){numer_rozdzialu=p;break;} numeracja=numer_rozdzialu.split("."); for(let i in numeracja){numeracja[i]=parseInt(numeracja[i]);}; let czy_ponumerowany=parent.getElementsByClassName('numeracja'); let numeruj=undefined; if((czy_ponumerowany!==null)&&(czy_ponumerowany.length>0)){numeruj=true;} if(!numeruj){ let span=document.createElement('span'); span.setAttribute('class',"numeracja"); span.innerHTML=numer_rozdzialu+".&nbsp;"; parent.insertBefore(span,parent.firstChild); }else{ czy_ponumerowany[0].innerHTML=numer_rozdzialu+".&nbsp;"; } } } if(!jeden_glowny_naglowek){ if((!tak)&&((artykul=="")||(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(artykuly_ze_spisem_tresci,artykul)))&&(StronicowyParser.wzor.DopasujCiagDoWzorowTablicy(tab_spis_tresci,rozdzial))){ poziom_naglowka_spisu_tresci.push(poziom_naglowka); poziom_naglowka_spisu_tresci2[poziom_naglowka_spisu_tresci2.length-1]=true; tak=true; fun_hnumer_3.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); numeracja_3.push(numeracja); numeracja=new Array(0); } }else{ jeden_glowny_naglowek=false; numeracja_2.push(numeracja); numeracja=new Array(); fun_hnumer_2.push(fun_hnumer); fun_hnumer=StronicowyParser.hnumer.LiczonyHNumer(); } } if(!json_wikikod){ for(let i=0;i<headline.length;++i){ await Headline(i,headline[i]); } }else{ console.log(json_wikikod,"GABUS"); let dzieci=$(id_numerowanie).find("h1 .mw-headline, h2 .mw-headline, h3 .mw-headline, h4 .mw-headline, h5 .mw-headline, h6 .mw-headline, p, a,ul li, ol li"); let i=0; for(let k=0;k<dzieci.length;++k){ let element=dzieci[k]; let naglowek; if($(element).hasClass('mw-headline')){ naglowek=element.innerHTML.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); console.log(naglowek,"GABUS"); await Headline(i,element); ++i; }else{ let tag=element.tagName.toUpperCase(); if(tag=="P"){ let zawartosc=element.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"GABUS") }else if(tag=="A"){ if($(element).children('.tocnumber, .toctext').length==0){ let zawartosc=element.innerHTML; let href=StronicowyParser.kodowanie.DecodeHtml(element.getAttribute('href'),true); if((href)&&(!/^[Hh][Tt][Tt][Pp][Ss]?:\/\//g.test(href))){ href=href.replace(/^.*\?title=([^&]+).*$/g,"$1").replace(/\/wiki\//g,"").replace(/^([^#]*).*$/g,"$1"); if(!/^[^\/]*$/g.test(href)){ let artykul=href.replace(/^[^\/]*\//g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); /**/ console.log(zawartosc,artykul,"GABUS"); } } } }else if(tag=="LI"){ let kopia=element.cloneNode(true); $(kopia).children('ul, ol').remove(); if($(kopia).find('a').length==0){ let zawartosc=kopia.innerHTML.replace(/<[^<>]+>/g,"").replace(/'+/g,"").replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); naglowek=zawartosc; /**/ console.log(zawartosc,"LI","GABUS") } }else{ console.log("Błąd wewnętrzny skryptu!") return; } } } } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyArtykulu=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('body:not(.ns-6) #mw-content-text .mw-parser-output, body.ns-6 #mw-content-text'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let aktualna_strona_parametr=StronicowyParser.ParametrNumerowanySzablonu(aktualna_strona); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{#invoke:StronicowyParser|CzyStronęNumerować|'+aktualna_strona_parametr+'}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; let czy_wikikod=/^[_\s]*$/g.test(wikikod); if(!czy_wikikod){ var artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if(artykul==""){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } artykul=StronicowyParser.ParametrNumerowanySzablonu(artykul); if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerArtykułu|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|nie js=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"")+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); } StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPrzedSciaganiemArtykulow=async function(tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;}; await StronicowyParser.muteks.zablokuj(true); let id_numerowanie=document.querySelector('#mw-content-text .mw-parser-output'); if(id_numerowanie==null){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} let aktualna_strona=StronicowyParser.pageinfo.fullname; let artykul=StronicowyParser.pageinfo.articlename.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); let book=StronicowyParser.pageinfo.book.replace(/^[\s_]+/g,"").replace(/[\s_]+$/g,"").replace(/[\s_]+/g," "); if((artykul==book)||(artykul=="Wersja do druku")){ if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,"",tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; return; } if(tab_promise){tab_promise.push(true);}; StronicowyParser.api.ZadaniaApi({ action: 'expandtemplates', format: 'json', prop: 'wikitext', title: aktualna_strona, text: '{{PobierzNumerNagłówka|'+artykul+'|poziomowo=tak|bez kategorii stronicowych=tak|bez dodatkowych sprawdzeń=tak}}', smaxage: 600, maxage: 600, }).then(async function(data){ await StronicowyParser.muteks.zablokuj(true); let wikikod=data.expandtemplates.wikitext; wikikod=wikikod.replace(/^[\s_]*/g,"").replace(/[\s_]*$/g,"").replace(/[\s_]+/g," "); let czy_wikikod=/^[_\s]*$/g.test(wikikod); if((czy_wikikod)||(wikikod=="(błąd)")){ wikikod=""; }else{ wikikod=wikikod+"."; } if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(id_numerowanie,wikikod,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((error) => {if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } this.NumerujRozdzialyPoSciagnieciuArtykulu=async function(element,tab_promise){ if(!gadget_numerowanie){if(tab_promise){tab_promise.pop();};return;} await StronicowyParser.muteks.zablokuj(true); let parent=element.parentNode; if(!parent){StronicowyParser.muteks.odblokuj();if(tab_promise){tab_promise.pop();};return;} if(tab_promise){tab_promise.push(true);}; new Promise((resolve,reject)=>{ let czas=0; function Naglowek(resove,reject){ let numeracja=parent.querySelector('.numeracja'); if(numeracja===null){ if(czas>60000){reject();}; czas+=300; setTimeout(()=>{Naglowek(resove,reject)},300); }else{ resolve(numeracja); } } setTimeout(()=>{ Naglowek(resolve,reject); },300); }).then(async function(numeracja){ await StronicowyParser.muteks.zablokuj(true); let numeracja_naprawa=numeracja.innerHTML.replace(/&nbsp;/g,""); if(tab_promise){tab_promise.push(true);}; zmienna_this.NumerowanieNaglowkowStron(element,numeracja_naprawa,tab_promise); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; }).catch((data)=>{if(tab_promise){tab_promise.pop();};}); StronicowyParser.muteks.odblokuj(); if(tab_promise){tab_promise.pop();}; } } StronicowyParser.numerowanie=new StronicowyParser.NumerowanieNaglowkow(); }); nybuys5xdgv0xevvwobyxzbgav5w23a Szablon:Siewki roślin flory Polski/Commons 10 58693 437676 437645 2022-08-13T16:36:55Z Persino 2851 Zmiana elementu docelowego przekierowania z [[Szablon:Commonsimgcat]] na [[Szablon:Commonsilustrkat]] wikitext text/x-wiki #PATRZ [[Szablon:Commonsilustrkat]] ehu47rvapbq2u2yma8pw891rcprkg0e Szablon:Commons ilustr kat/opis 10 58695 437675 437652 2022-08-13T16:35:53Z Persino 2851 Persino przeniósł stronę [[Szablon:Commonsimgcat/opis]] na [[Szablon:Commonsilustrkat/opis]], bez pozostawienia przekierowania pod starym tytułem wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> {{wysokie ryzyko}} {{Szablony siostrzanych projektów}} == Użycie == Szablon linkuje do kategorii na Commons. == Opis parametrów == Użycie: {{s|Commonsimgcat|nazwa kategorii na Commons|tekst wyświetlany}} Przykład: {{s|Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}} Efekt: {{ElastycznyWiersz|{{Commonsimgcat|Taxus baccata (seedlings)|siewki cisa pospolitego}}}} == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "description": "Nazwa kategorii na Commons.", "type": "wiki-file-name", "required": true }, "2": { "description": "Nazwa wyświetlana linku kategorii na Commons.", "type": "string", "suggested": true } }, "description": "Szablon linkujący do kategorii, z obrazami, na Commons." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów}} </includeonly> benits0cnagotngtc1n6vajnhmgtw2d 437679 437675 2022-08-13T16:40:14Z Persino 2851 /* Opis parametrów */ wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> {{wysokie ryzyko}} {{Szablony siostrzanych projektów}} == Użycie == Szablon linkuje do kategorii na Commons. == Opis parametrów == Użycie: {{s|Commonsilustrkat|nazwa kategorii na Commons|tekst wyświetlany}} Przykład: {{s|Commonsilustrkat|Taxus baccata (seedlings)|siewki cisa pospolitego}} Efekt: {{ElastycznyWiersz|{{Commonsilustrkat|Taxus baccata (seedlings)|siewki cisa pospolitego}}}} == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "description": "Nazwa kategorii na Commons.", "type": "wiki-file-name", "required": true }, "2": { "description": "Nazwa wyświetlana linku kategorii na Commons.", "type": "string", "suggested": true } }, "description": "Szablon linkujący do kategorii, z obrazami, na Commons." } </templatedata> == Zobacz też == {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony siostrzanych projektów}} </includeonly> k41rglwsan6b310t8ocl7punlia84bp