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]] {{{nagłówek|Dokumentacja{{#switch: {{NAMESPACE}}|Szablon= szablonu|Moduł= 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]]. }}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 Wikimedia 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.." — ") 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.." — ") 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&action=edit&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&action=edit&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&action=edit&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)?("§ion="+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(/&/g,"&").replace(/ /g," ");
let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&/g,"&").replace(/ /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(/&/g,"&").replace(/ /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(/&/g,"&").replace(/ /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(/&/g,"&").replace(/ /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)?("§ion="+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(/&/g,"&").replace(/ /g," ");
let hash=link_strona.replace(/^([^#]*)#(.*)$/,"$2").replace(/&/g,"&").replace(/ /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(/&/g,"&").replace(/ /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(/&/g,"&").replace(/ /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(/&/g,"&").replace(/ /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(/&/g,"&").replace(/ /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('.')+". ";
parent.insertBefore(span,parent.firstChild);
}else{
czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+". ";
}
}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+". ";
parent.insertBefore(span,parent.firstChild);
}else{
czy_ponumerowany[0].innerHTML=numer_rozdzialu+". ";
}
}
}
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(/ /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(/&/g,"&").replace(/ /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('.')+". ";
parent.insertBefore(span,parent.firstChild);
}else{
czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+". ";
}
}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+". ";
parent.insertBefore(span,parent.firstChild);
}else{
czy_ponumerowany[0].innerHTML=numer_rozdzialu+". ";
}
}
}
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(/ /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(/&/g,"&").replace(/ /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('.')+". ";
parent.insertBefore(span,parent.firstChild);
}else{
czy_ponumerowany[0].innerHTML=((prefix!=="")?prefix:"")+numeracja.join('.')+". ";
}
}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+". ";
parent.insertBefore(span,parent.firstChild);
}else{
czy_ponumerowany[0].innerHTML=numer_rozdzialu+". ";
}
}
}
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(/ /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