Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.47.0-wmf.22
first-letter
Media
Specjalna
Dyskusja
Wikipedysta
Dyskusja wikipedysty
Wikibooks
Dyskusja Wikibooks
Plik
Dyskusja pliku
MediaWiki
Dyskusja MediaWiki
Szablon
Dyskusja szablonu
Pomoc
Dyskusja pomocy
Kategoria
Dyskusja kategorii
Wikijunior
Dyskusja Wikijuniora
TimedText
TimedText talk
Moduł
Dyskusja modułu
Wydarzenie
Dyskusja wydarzenia
Szablon:Cytuj
10
31188
558114
558003
2026-09-30T16:53:02Z
Persino
2851
558114
wikitext
text/x-wiki
<includeonly><templatestyles src="Szablon:Cytuj/styles.css" /><!--
-->{{#switch:{{{Funkcja|auto}}}
| custom = {{Jeśli niepuste komunikat
| 1 = {{{tryb|}}}
| nie z warunku = tak
| wtedy = {{#invoke:Ramka|Moduł|Nazwa=Cytuj|Funkcja={{{Funkcja}}}|1={{{tryb}}}}}
| przeciwnie = {{#invoke:Ramka|Moduł|Nazwa=Cytuj|Funkcja={{{Funkcja}}}}}
}}
| custom2 = {{Jeśli niepuste komunikat
| 1 = {{{tryb|}}}
| nie z warunku = tak
| wtedy = {{#invoke:Cytuj|{{{Funkcja}}}|1={{{tryb}}}}}
| przeciwnie = {{#invoke:Cytuj|{{{Funkcja}}}}}
}}
| #default | auto = {{#invoke:Cytuj|auto}}
}}{{#invoke:Sprawdź|Parametry|=problemy-w-cytuj {{((}}Kategoria{{!}}Szablon cytuj do sprawdzenia{{))}}|autor=text?|autor r=text|cytat=text|czasopismo=text-link|data=text?|data dostępu=text|format=text|inni=text|język=text|miejsce=text|odpowiedzialność=text|opublikowany=text|praca=text-link|rozdział=text-link|seria=text|url=uri*|url-status=text|tytuł=text-link|wydanie=text|wolumin=text|numer=text|wydawca=text|opis=text|redaktor=text|s=text-link|bibcode=text|doi=^10%.[1-9][0-9][0-9][0-9][0-9]*[%./].+$|isbn=^[0-9%- X]+$|issn=^[0-9][0-9][0-9][0-9]%-[0-9][0-9][0-9][0-9Xx]$|lccn=text|oclc=text|pmc=text|pmid=text|arxiv=text|jstor=text|ol=text|id=text-link|archiwum=uri|odn={{#ifeq:{{{odn|}}}|{{{odn}}}|{{#switch:{{{odn}}}|nie|tak|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z=text|^{{odn/id}}.+$}}}}|zarchiwizowano=text|typ nośnika=text|dostęp=text|patent=text|kropka=text-link}}<!--
-->{{#if:{{#invoke:Sprawdź|pola z gołymi linkami|url=|archiwum=|adres=}}
|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł={{Kategoria|Szablon cytuj (artykuły) - gołe linki}}{{Span|klasa=problemy-w-cytuj|styl=display:none;|gołe linki: {{#invoke:Sprawdź|pola z gołymi linkami|url=|archiwum=}}}}
|artykuł dla dzieci={{Kategoria|Szablon cytuj (artykuły dla dzieci) - gołe linki}}{{Span|klasa=problemy-w-cytuj|styl=display:none;|gołe linki: {{#invoke:Sprawdź|pola z gołymi linkami|url=|archiwum=}}}}
|strona użytkownika={{Kategoria|Szablon cytuj (jednostki użytkowników) - gołe linki}}{{Span|klasa=problemy-w-cytuj|styl=display:none;|gołe linki: {{#invoke:Sprawdź|pola z gołymi linkami|url=|archiwum=}}}}
|strona brudnopisu projektu={{Kategoria|Szablon cytuj (jednostki brudnopisu projektu) - gołe linki}}{{Span|klasa=problemy-w-cytuj|styl=display:none;|gołe linki: {{#invoke:Sprawdź|pola z gołymi linkami|url=|archiwum=}}}}
|#default={{Kategoria|Szablon cytuj (strony niepodręcznikowe) - gołe linki}}}{{Span|styl=color:red;|gołe linki: {{#invoke:Sprawdź|pola z gołymi linkami|url=|archiwum=}}}}
}}<!--
-->}}<!--
-->{{#if:{{{opis|}}}{{{kropka|}}}
|{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł={{Kategoria|Szablon cytuj (artykuły) używa pól opisowych}}
|artykuł dla dzieci={{Kategoria|Szablon cytuj (artykuły dla dzieci) używa pól opisowych}}
|strona użytkownika={{Kategoria|Szablon cytuj (jednostki użytkowników) używa pól opisowych}}
|strona brudnopisu projektu={{Kategoria|Szablon cytuj (jednostki brudnopisu projektu) używa pól opisowych}}
|#default={{Kategoria|Szablon cytuj (strony niepodręcznikowe) używa pól opisowych}}
}}
}}<!--
-->{{#ifeq:tytuł|{{#invoke:Sprawdź|lista nazw niepustych argumentów}}|<!--
-->{{Span|klasa=problemy|atrybuty=aria-hidden="true" data-nosnippet|Tylko tytuł<!--
-->{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł={{Kategoria|Szablon cytuj (artykuły) do sprawdzenia}}
|artykuł dla dzieci={{Kategoria|Szablon cytuj (artykuły dla dzieci) do sprawdzenia}}
|strona użytkownika={{Kategoria|Szablon cytuj (jednostki użytkowników) do sprawdzenia}}
|strona brudnopisu projektu={{Kategoria|Szablon cytuj (jednostki brudnopisu projektu) do sprawdzenia}}
|#default={{Kategoria|Szablon cytuj (strony niepodręcznikowe) do sprawdzenia}}
}}}}}}<!--
-->{{#ifeq:{{{opublikowany|}}}|{{{opublikowany}}}|<!--strona internetowa-->|<!--
-->{{#if:{{Dopasuj|ciąg={{{tytuł}}}|wzór=[Ii][Ss][Bb][Nn] *[0-9]}}|<!--
-->{{Span|klasa=problemy|atrybuty=aria-hidden="true" data-nosnippet> ISBN w tytule<!--
-->{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł={{Kategoria|Szablon cytuj (artykuły) do sprawdzenia}}
|artykuł dla dzieci={{Kategoria|Szablon cytuj (artykuły dla dzieci) do sprawdzenia}}
|strona użytkownika={{Kategoria|Szablon cytuj (jednostki użytkowników) do sprawdzenia}}
|strona brudnopisu projektu={{Kategoria|Szablon cytuj (jednostki brudnopisu projektu) do sprawdzenia}}
|#default={{Kategoria|Szablon cytuj (strony niepodręcznikowe) do sprawdzenia}}
}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{opublikowany|}}}{{{praca|}}}{{{patent|}}}{{#if:{{{autor r|}}}{{{rozdział|}}}{{{inni|}}}{{{odpowiedzialność|}}}{{{wydanie|}}}{{{wolumin|}}}{{{numer|}}}{{{opis|}}}{{{miejsce|}}}{{{wydawca|}}}{{{doi|}}}{{{isbn|}}}{{{lccn|}}}{{{issn|}}}{{{pmid|}}}{{{pmc|}}}{{{bibcode|}}}{{{oclc|}}}{{{arxiv|}}}{{{jstor|}}}{{{ol|}}}||{{{url|}}}}}||<!--
-->{{#if:{{{czasopismo|}}}|<!--
-->{{#if:{{{s|}}}{{{odn|}}}{{{doi|}}}{{{pmid|}}}{{{pmc|}}}{{{arxiv|}}}{{{jstor|}}}||<!--
-->{{Span|klasa=problemy|atrybuty=aria-hidden="true" data-nosnippet|Brak numerów stron w czasopiśmie}}<!--
-->{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł={{Kategoria|Szablon cytuj (artykuły) – brak strony}}
|artykuł dla dzieci={{Kategoria|Szablon cytuj (artykuły dla dzieci) – brak strony}}
|strona użytkownika={{Kategoria|Szablon cytuj (jednostki użytkowników) – brak strony}}
|strona brudnopisu projektu={{Kategoria|Szablon cytuj (jednostki brudnopisu projektu) – brak strony}}
|#default={{Kategoria|Szablon cytuj (strony niepodręcznikowe) – brak strony}}
}}<!--
-->}}<!--
-->|{{#if:{{{s|}}}{{{odn|}}}||<!--
-->{{Span|klasa==problemy|atrybuty=aria-hidden="true" data-nosnippet|Brak numerów stron w książce}}<!--
-->{{#switch:{{#invoke:Pudełko|Typ jednostki 2|obsługiwane jednostki jako nieopisowe strony=tak}}
|artykuł={{Kategoria|Szablon cytuj (artykuły) – brak strony}}
|artykuł dla dzieci={{Kategoria|Szablon cytuj (artykuły dla dzieci) – brak strony}}
|strona użytkownika={{Kategoria|Szablon cytuj (jednostki użytkowników) – brak strony}}
|strona brudnopisu projektu={{Kategoria|Szablon cytuj (jednostki brudnopisu projektu) – brak strony}}
|#default={{Kategoria|Szablon cytuj (strony niepodręcznikowe) – brak strony}}
}}<!--
-->}}<!--
-->}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
4z6x8j56zz2f6gn6retcbo1h82psfx2
Szablon:Lua
10
32972
558087
558082
2026-09-30T12:22:32Z
Persino
2851
558087
wikitext
text/x-wiki
<includeonly>{{#invoke:Pudełko|Ogólne pudełko
| cecha = {{#invoke:Pudełko|Przedmiotowa cecha pudełka|pierwszy człon kategorii błędu=Szablony informacyjne|nieobsługiwane strony główne=tak|obsługiwane nieudokumentowane szablony jako szablony=tak|nazwy jednostki numerowane=tak|nazwa przestrzeni nazw i=Module|Template|Module}}
| warunek niealternatywnego wywołania = {{Jeśli niepuste|{{{dokumentacja|}}}|{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki}}|wzór=/{{#invoke:Techniczne|WzórDanejPrzestrzeniNazw|{{{strona|opis}}}|wyspecjalizowana=tak}}$}}||tak}}}}
| alternatywne wywołanie = {{Div|styl=width:0;height:0}}
| typ = wiadomość
| nazwa = ombox
| grafika = {{ikona|lua|35}}
| tekst = '''Ten {{#switch: {{Np|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|kanoniczna=tak}}|Template=szablon|Module=moduł|#default=szablon}} {{#if: {{{1|}}} |wykorzystuje{{#if:{{{2|}}}|:}} {{#invoke:Ramka|Powtarzaj|wyliczanka=tak|{{!((}}{{((}}#invoke:Pudełko{{!}}Pełna nazwa jednostki 2{{!}}numer jednostki{{=}}{{((}}_{{))}}{{!}}nazwa przestrzeni nazw i{{=}}Module{{))}}{{))!}}}}{{#if:{{{2|}}}|,}} napisan{{#if:{{{2|}}}|e|y}} w |wykorzystuje}} {{lpg|Lua}}.'''{{Br}}{{Small|Jeśli chcesz się nauczyć stosować Lua, dalsze informacje możesz znaleźć na stronie {{lpr2|Lua}}. Wszelkie testowe skrypty należy tworzyć w {{ld|Brudnopis|brudnopisie}} dla modułów Lua.}}
| kategorie =
{{#if:{{{bez kategorii|}}}||
{{#if:{{Jeśli niepuste
|{{Dopasuj|ciąg={{PAGENAME}}|wzór=^(Wikibooks/Przykład%/.+%/[^%/]+%/)[Kk][Oo][Dd][%s_]*%d+}}
|{{Dopasuj|ciąg={{PAGENAME}}|wzór=^(Wikibooks/Przykład%/.+%/[^%/]+)}}
}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji bibliotecznych}}
|{{#if:{{Jeśli niepuste
|{{Dopasuj|ciąg={{PAGENAME}}|wzór=^(Wikibooks/Przykład%/.+%/[^%/]+%/)[Ww][Ii][Kk][Ii][Kk][Oo][Dd][%s_]*%d+}}
|{{Dopasuj|ciąg={{PAGENAME}}|wzór=^(Wikibooks/Przykład%/.+%/[^%/]+)}}
}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji ramek}}
|{{#if:{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^Szablon:Książka:.*$}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Szablony pomocnicze do tworzenia książek}}
|{{Kategoria|Szablony wykorzystujące moduły Lua}}
}}
}}
}}
}}
}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
7bbt8xnnn6c7keg03xkqvbq4tiy2pb7
558088
558087
2026-09-30T12:25:43Z
Persino
2851
558088
wikitext
text/x-wiki
<includeonly>{{#invoke:Pudełko|Ogólne pudełko
| cecha = {{#invoke:Pudełko|Przedmiotowa cecha pudełka|pierwszy człon kategorii błędu=Szablony informacyjne|nieobsługiwane strony główne=tak|obsługiwane nieudokumentowane szablony jako szablony=tak|nazwy jednostki numerowane=tak|nazwa przestrzeni nazw i=Module|Template|Module}}
| warunek niealternatywnego wywołania = {{Jeśli niepuste|{{{dokumentacja|}}}|{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki}}|wzór=/{{#invoke:Techniczne|WzórDanejPrzestrzeniNazw|{{{strona|opis}}}|wyspecjalizowana=tak}}$}}||tak}}}}
| alternatywne wywołanie = {{Div|styl=width:0;height:0}}
| typ = wiadomość
| nazwa = ombox
| grafika = {{ikona|lua|35}}
| tekst = '''Ten {{#switch: {{Np|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|kanoniczna=tak}}|Template=szablon|Module=moduł|#default=szablon}} {{#if: {{{1|}}} |wykorzystuje{{#if:{{{2|}}}|:}} {{#invoke:Ramka|Powtarzaj|wyliczanka=tak|{{!((}}{{((}}#invoke:Pudełko{{!}}Pełna nazwa jednostki 2{{!}}numer jednostki{{=}}{{((}}_{{))}}{{!}}nazwa przestrzeni nazw i{{=}}Module{{))}}{{))!}}}}{{#if:{{{2|}}}|,}} napisan{{#if:{{{2|}}}|e|y}} w |wykorzystuje}} {{lpg|Lua}}.'''{{Br}}{{Small|Jeśli chcesz się nauczyć stosować Lua, dalsze informacje możesz znaleźć na stronie {{lpr2|Lua}}. Wszelkie testowe skrypty należy tworzyć w {{ld|Brudnopis|brudnopisie}} dla modułów Lua.}}
| kategorie =
{{#if:{{{bez kategorii|}}}||
{{#if:{{Jeśli niepuste
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Module}}:(Wikibooks/Przykład%/.+%/[^%/]+%/)[Kk][Oo][Dd][%s_]*%d+}}
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Module}}:(Wikibooks/Przykład%/.+%/[^%/]+)}}
}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji bibliotecznych}}
|{{#if:{{Jeśli niepuste
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Template}}:(Wikibooks/Przykład%/.+%/[^%/]+%/)[Ww][Ii][Kk][Ii][Kk][Oo][Dd][%s_]*%d+}}
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Template}}:(Wikibooks/Przykład%/.+%/[^%/]+)}}
}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji ramek}}
|{{#if:{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^Szablon:Książka:.*$}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Szablony pomocnicze do tworzenia książek}}
|{{Kategoria|Szablony wykorzystujące moduły Lua}}
}}
}}
}}
}}
}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
f4luu75247b1otei2a1i6owaw22049g
558112
558088
2026-09-30T13:39:18Z
Persino
2851
558112
wikitext
text/x-wiki
<includeonly>{{#invoke:Pudełko|Ogólne pudełko
| cecha = {{#invoke:Pudełko|Przedmiotowa cecha pudełka|pierwszy człon kategorii błędu=Szablony informacyjne|nieobsługiwane strony główne=tak|obsługiwane nieudokumentowane szablony jako szablony=tak|nazwy jednostki numerowane=tak|nazwa przestrzeni nazw i=Module|Template|Module}}
| warunek niealternatywnego wywołania = {{Jeśli niepuste|{{{dokumentacja|}}}|{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki}}|wzór=/{{#invoke:Techniczne|WzórDanejPrzestrzeniNazw|{{{strona|opis}}}|wyspecjalizowana=tak}}$}}||tak}}}}
| alternatywne wywołanie = {{DivLinia}}
| typ = wiadomość
| nazwa = ombox
| grafika = {{ikona|lua|35}}
| tekst = '''Ten {{#switch: {{Np|{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|kanoniczna=tak}}|Template=szablon|Module=moduł|#default=szablon}} {{#if: {{{1|}}} |wykorzystuje{{#if:{{{2|}}}|:}} {{#invoke:Ramka|Powtarzaj|wyliczanka=tak|{{!((}}{{((}}#invoke:Pudełko{{!}}Pełna nazwa jednostki 2{{!}}numer jednostki{{=}}{{((}}_{{))}}{{!}}nazwa przestrzeni nazw i{{=}}Module{{))}}{{))!}}}}{{#if:{{{2|}}}|,}} napisan{{#if:{{{2|}}}|e|y}} w |wykorzystuje}} {{lpg|Lua}}.'''{{Br}}{{Small|Jeśli chcesz się nauczyć stosować Lua, dalsze informacje możesz znaleźć na stronie {{lpr2|Lua}}. Wszelkie testowe skrypty należy tworzyć w {{ld|Brudnopis|brudnopisie}} dla modułów Lua.}}
| kategorie =
{{#if:{{{bez kategorii|}}}||
{{#if:{{Jeśli niepuste
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Module}}:(Wikibooks/Przykład%/.+%/[^%/]+%/)[Kk][Oo][Dd][%s_]*%d+}}
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Module}}:(Wikibooks/Przykład%/.+%/[^%/]+)}}
}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji bibliotecznych}}
|{{#if:{{Jeśli niepuste
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Template}}:(Wikibooks/Przykład%/.+%/[^%/]+%/)[Ww][Ii][Kk][Ii][Kk][Oo][Dd][%s_]*%d+}}
|{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^{{Ns:Template}}:(Wikibooks/Przykład%/.+%/[^%/]+)}}
}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji ramek}}
|{{#if:{{Dopasuj|ciąg={{FULLPAGENAME}}|wzór=^Szablon:Książka:.*$}}
|{{Kategoria|Szablony wykorzystujące moduły Lua/Szablony pomocnicze do tworzenia książek}}
|{{Kategoria|Szablony wykorzystujące moduły Lua}}
}}
}}
}}
}}
}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
f21lj7m7sw6z4i7hf7wj87mp5uxglk1
Szablon:LinkUstęp/opis
10
42099
558093
553141
2026-09-30T12:51:47Z
Persino
2851
/* Użycie */
558093
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Skomplikowany}}
{{Szablony opakowań linków wewnętrznych do ustępu}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
{{#if:{{LinkUstęp/skrót|{{ROOTPAGENAME}}}}|{{Skrót szablonu|{{LinkUstęp/skrót|{{ROOTPAGENAME}}}}}}|{{DivLinia}}}}
== Użycie ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów CSS, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Służy do robienia odnośników w tekście do jakieś strony lub na tej samej, ewentualnie do rozdziału w niej, {{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link(%u%l+)}}|#default=na tym samym projekcie|Pedia=na projekcie siostrzanym lub językowym|Ustęp=na tym samym projekcie, siostrzanym lub językowym}}, szablon wyświetla link, z nazwą, którą jest nagłówek, nazwą oddzieloną od przestrzeni dwukropkiem, która nie jest przestrzenią nazw w ogólności, ale może być, wtedy ta nazwa linku nie nie może zawierać znaku {{Code|/}}, podstroną lub całą stroną (bez przestrzeni nazw, do której należy strona).
Obliczenia są w tym szablonie dokonywane {{LinkUstęp/opis/użycie|{{ROOTPAGENAME}}}}.<!--
-->{{LinkUstęp/opis/linki|{{ROOTPAGENAME}}}}
== Skrót szablonu ==
Szablon {{s|{{ROOTPAGENAME}}}} posiada swój skrót: {{s|{{LinkUstęp/skrót|{{ROOTPAGENAME}}}}}}.
== Opis parametrów ==
{{LinkUstęp/opis/wywołania|{{ROOTPAGENAME}}}}<!--
-->
; Parametry szablonu
* {{Code|1}}, {{Code|s}} lub {{Code|strona}} = nazwa strony bez nazwy przestrzeni nazw{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link(%u%l+)}}|Pedia=.|#default=,{{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|
* {{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|{{Code|2}}, }}{{Code|m}} lub {{Code| miano przestrzeni nazw }} = miano przestrzeni nazw, w której jest ta strona - (opcjonalny, domyślnie przyjmuje wartość {{Np|(main)|link=tak}}),}}
* {{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|{{Code|3}}, }}{{Code|k}} lub {{Code| klucz projektu }} = skrót projektu, np. w to skrót do Wikipedia, używany zamiast zmiennych: {{Code|kod języka}} i {{Code|kod projektu}} - (opcjonalny, domyślnie wartość pusta),
*{{Code|kj}} lub {{Code|kod języka}} = kod języka projektu, używany tylko w wersji nazwanej zamiast {{Code|klucz projektu}} (lub w postaci {{Code|3}}) - (opcjonalny, domyślnie wartość pusta),
* {{Code|kp}} lub {{Code|kod projektu}} = kod projektu, używany tylko w wersji nazwanej, zamiast {{Code|klucz projektu}} (lub w postaci {{Code|3}}) - (opcjonalny, domyślnie wartość pusta){{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|,
* {{Code|4}}, {{Code|w}} lub {{Code|wyświetlana}} - wyświetlana nazwa strony - (opcjonalny).|.}}}}
* Operacje dokonywane na nazwie linku generowaną przez szablon, pisz:
** {{Code|b}} lub {{Code|od dużej}} - od dużej litery,
** {{Code|m}} lub {{Code|od małej}} - od małej litery.
----
Nagłówek jest to część nazwy strony, która jest najbliższa końcowi, oddzieloną od pozostałej części za pomocą znaku {{Code|#}}, podobnie jest z definicją podstrony, tzn. szuka najpierw względem {{Code|:}} (wydzielona ta część podstrony nie może zawierać {{Code|/}}), a później {{Code|/}}, jeżeli nie znalazł poprzedniego.
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} i {{Parametr|bez przetwarzania|tak}}, które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (lub jego skrót: {{Parametr|a}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykład ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{LinkUstęp/opis/przykłady|{{ROOTPAGENAME}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"kod języka": {
"description": "Kod języka projektu używany zmiast \"klucz projektu\".",
"type": "string"
},
"kod projektu": {
"description": "Kod projektu używany zamiast \"klucz projektu\".",
"type": "string"
},
"klucz projektu": {
"description": "klucz projektu, używany zamiast: \"kod języka\" i \"kod projektu\".",
"type": "string",
"aliases": [
"3"
]
},
"miano przestrzeni nazw": {
"aliases": [
"2"
],
"description": "Nazwa przestrzeni nazw, do której ma linkować link.",
"type": "string"
},
"strona": {
"description": "Nazwa strony.",
"type": "wiki-page-name",
"required": true,
"aliases": [
"1"
]
}
},
"description": "Szablon służy do robienia odnośników w tekście.",
"paramOrder": [
"strona",
"miano przestrzeni nazw",
"klucz projektu",
"kod języka",
"kod projektu"
]
}
</templatedata>
==Zobacz też==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link(%u%l+)}}
| Pedia = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznej Wikipedii, do ustępu}}
| Ustęp = {{Kategoria|Szablony linków inteligentnych do ustępu|sortuj spacją=tak}}
| #default = {{Kategoria|Szablony linków inteligentnych, na bieżącym projekcie, do ustępu}}
}}</includeonly>
ljf9sxearewnz0qnyfp4sq6jof0i3ke
558096
558093
2026-09-30T12:54:25Z
Persino
2851
/* Użycie */
558096
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Skomplikowany}}
{{Szablony opakowań linków wewnętrznych do ustępu}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
{{#if:{{LinkUstęp/skrót|{{ROOTPAGENAME}}}}|{{Skrót szablonu|{{LinkUstęp/skrót|{{ROOTPAGENAME}}}}}}|{{DivLinia}}}}
== Użycie ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Służy do robienia odnośników w tekście do jakieś strony lub na tej samej, ewentualnie do rozdziału w niej, {{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link(%u%l+)}}|#default=na tym samym projekcie|Pedia=na projekcie siostrzanym lub językowym|Ustęp=na tym samym projekcie, siostrzanym lub językowym}}, szablon wyświetla link, z nazwą, którą jest nagłówek, nazwą oddzieloną od przestrzeni dwukropkiem, która nie jest przestrzenią nazw w ogólności, ale może być, wtedy ta nazwa linku nie nie może zawierać znaku {{Code|/}}, podstroną lub całą stroną (bez przestrzeni nazw, do której należy strona).
Obliczenia są w tym szablonie dokonywane {{LinkUstęp/opis/użycie|{{ROOTPAGENAME}}}}.<!--
-->{{LinkUstęp/opis/linki|{{ROOTPAGENAME}}}}
== Skrót szablonu ==
Szablon {{s|{{ROOTPAGENAME}}}} posiada swój skrót: {{s|{{LinkUstęp/skrót|{{ROOTPAGENAME}}}}}}.
== Opis parametrów ==
{{LinkUstęp/opis/wywołania|{{ROOTPAGENAME}}}}<!--
-->
; Parametry szablonu
* {{Code|1}}, {{Code|s}} lub {{Code|strona}} = nazwa strony bez nazwy przestrzeni nazw{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link(%u%l+)}}|Pedia=.|#default=,{{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|
* {{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|{{Code|2}}, }}{{Code|m}} lub {{Code| miano przestrzeni nazw }} = miano przestrzeni nazw, w której jest ta strona - (opcjonalny, domyślnie przyjmuje wartość {{Np|(main)|link=tak}}),}}
* {{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|{{Code|3}}, }}{{Code|k}} lub {{Code| klucz projektu }} = skrót projektu, np. w to skrót do Wikipedia, używany zamiast zmiennych: {{Code|kod języka}} i {{Code|kod projektu}} - (opcjonalny, domyślnie wartość pusta),
*{{Code|kj}} lub {{Code|kod języka}} = kod języka projektu, używany tylko w wersji nazwanej zamiast {{Code|klucz projektu}} (lub w postaci {{Code|3}}) - (opcjonalny, domyślnie wartość pusta),
* {{Code|kp}} lub {{Code|kod projektu}} = kod projektu, używany tylko w wersji nazwanej, zamiast {{Code|klucz projektu}} (lub w postaci {{Code|3}}) - (opcjonalny, domyślnie wartość pusta){{#ifeq:{{ROOTPAGENAME}}|LinkUstęp|,
* {{Code|4}}, {{Code|w}} lub {{Code|wyświetlana}} - wyświetlana nazwa strony - (opcjonalny).|.}}}}
* Operacje dokonywane na nazwie linku generowaną przez szablon, pisz:
** {{Code|b}} lub {{Code|od dużej}} - od dużej litery,
** {{Code|m}} lub {{Code|od małej}} - od małej litery.
----
Nagłówek jest to część nazwy strony, która jest najbliższa końcowi, oddzieloną od pozostałej części za pomocą znaku {{Code|#}}, podobnie jest z definicją podstrony, tzn. szuka najpierw względem {{Code|:}} (wydzielona ta część podstrony nie może zawierać {{Code|/}}), a później {{Code|/}}, jeżeli nie znalazł poprzedniego.
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} i {{Parametr|bez przetwarzania|tak}}, które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (lub jego skrót: {{Parametr|a}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykład ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{LinkUstęp/opis/przykłady|{{ROOTPAGENAME}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"kod języka": {
"description": "Kod języka projektu używany zmiast \"klucz projektu\".",
"type": "string"
},
"kod projektu": {
"description": "Kod projektu używany zamiast \"klucz projektu\".",
"type": "string"
},
"klucz projektu": {
"description": "klucz projektu, używany zamiast: \"kod języka\" i \"kod projektu\".",
"type": "string",
"aliases": [
"3"
]
},
"miano przestrzeni nazw": {
"aliases": [
"2"
],
"description": "Nazwa przestrzeni nazw, do której ma linkować link.",
"type": "string"
},
"strona": {
"description": "Nazwa strony.",
"type": "wiki-page-name",
"required": true,
"aliases": [
"1"
]
}
},
"description": "Szablon służy do robienia odnośników w tekście.",
"paramOrder": [
"strona",
"miano przestrzeni nazw",
"klucz projektu",
"kod języka",
"kod projektu"
]
}
</templatedata>
==Zobacz też==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link(%u%l+)}}
| Pedia = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznej Wikipedii, do ustępu}}
| Ustęp = {{Kategoria|Szablony linków inteligentnych do ustępu|sortuj spacją=tak}}
| #default = {{Kategoria|Szablony linków inteligentnych, na bieżącym projekcie, do ustępu}}
}}</includeonly>
b0cwjo8nwwg2od96y2md2ljm0mt18es
Szablon:LinkOgólne/opis
10
48166
558091
553139
2026-09-30T12:50:00Z
Persino
2851
/* Opis szablonu */
558091
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Linki}}
{{Skomplikowany}}
{{Szablony opakowań linków wewnętrznych}}
{{#if:{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|{{Skrót szablonu|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}}}|{{DivLinia}}}}
<!--DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów CSS, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkOgólne}} i jego pochodne w ich definicji, obsługują nazwy przestrzenie nazw kanoniczne (angielskie) lub w jakimś języku, na danym projekcie siostrzanych lub w ich wersjach językowych.
Wystarczy podać nazwę kanoniczną przestrzeni nazw, a ta nazwa zostanie przetłumaczona na nazwę charakterystyczną dla danego projektu, jeżeli podamy parametr: {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}), bez: {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), w przeciwnym przypadku tego nie zrobi.
Na przykład na projekcie bieżącym dla szablonów ogólnie nie między-projektowych, wyświetlana nazwa przestrzeni nazw zostanie przetłumaczona na nazwę charakterystyczną dla polskiego {{NS|pk=d|w=tak|l=tak}}, jeżeli ustawimy szablon, by wyświetlał to w nazwie linku, to je robi możliwie po przetłumaczeniu na język polski, ona w adresie linku nie zostanie przetłumaczona, chyba że podamy parametr {{Parametr|analiza|tak}} (lub jego skrót: {{Parametr|a|tak}}) według powyższej specyfikacji.
Szablon zwykle nie tłumaczy w adresie linku nazwy przestrzeni nazw, np. na język polski lub inny, podanym w definicji tego szablonu, jeżeli jest nazwą kanoniczną podaną w definicji tego szablonu, a jeżeli nie, to nie ma czego tłumaczyć (bo w definicji szablonu pod zmienną: {{Code|miano przestrzeni nazw}} (skrót: {{Parametr|f}}), np. jest podane: {{Code|Wikibooks}}, zamiast: {{Code|Project}}), chyba że w przeciwnym wypadku, chcemy, by przetłumaczył na język charakterystyczny dla danego projektu, wskazanym przez szablon, wtedy należy podać parametr poniżej opisany do szablonu do głębszej analizy linkowej. {{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}|A nazwa przestrzeni nazw wyświetlana w nazwie linku za to zawsze zostanie przetłumaczona na nasz język.}}
Szablon używa zmiennej: {{Code|miano przestrzeni nazw}} (skrót: {{Parametr|f}}), w sposób {{#switch:{{ROOTPAGENAME}}|LinkOgólne|LinkOgólne2=jawny (w postaci osobnego parametru) lub nie (w pierwszej zmiennej)|#default=niejawny (w postaci zmiennej w definicji tego szablonu, używając szablon {{s|LinkOgólne}} (skrót: {{s|lo}}))}}, w przeciwieństwie do {{s|Link wewnętrzny}}, który tego nie ma, tzn. nazwa przestrzeni nazw jest zawsze podana tam w sposób niejawny w postaci pierwszej zmiennej wraz z adresem linku na danym projekcie i kluczem projektu (wtedy nie ma osobnego parametru do interwiki) lub nie (w postaci zmiennej (zmiennych) do interwiki).
== Skrót szablonu ==
Szablon {{s|{{ROOTPAGENAME}}}} posiada swój skrót: {{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}}}.
== Użycie ==
{{LinkOgólne/opis/linki|{{ROOTPAGENAME}}}}
{{LinkOgólne/opis/definicje|{{ROOTPAGENAME}}}}
== Opis parametrów ==
{{#switch:{{ROOTPAGENAME}}|LinkWB=
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}}}}}
|LinkSpecjalna=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|LinkSpecjalna2=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|LinkOgólne=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}|f{{=}}|i{{=}}|w{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}|wyświetl miano przestrzeni nazw{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}|f{{=}}|i{{=}}|w{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}|wyświetl miano przestrzeni nazw{{=}}}}}}
|LinkOgólne2=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}|f{{=}}|i{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}|f{{=}}|i{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}}}}}
|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=[^2]$}}|{{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}}}}}
|
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|d{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|dyskusja{{=}}}}}}
}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|
; Pełne skrótowe wywołanie
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}}}}}
}}}}|{{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|po{{=}}|kj{{=}}|kp{{=}}|d{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}}}}}
|
; Pełne skrótowe wywołanie
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|d{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|dyskusja{{=}}}}}}
}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}}}}}
}}}}}}}}
; Parametry szablonu
* {{Code|1}} - nazwa strony, do której link linkuje się{{#ifeq:{{ROOTPAGENAME}}|LinkWB|,|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=[^2]$}}|,
* {{Code|2}} - nazwa linku - (sugerowany),|,}}}}
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku za pomocą umieszczenia jego bezpośrednio za nazwą linku - (opcjonalny),
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku za pomocą umieszczenia jego bezpośrednio za linkiem - (opcjonalny){{#switch:{{ROOTPAGENAME}}|LinkWB=.|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|,
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - kod projektu siostrzanego Wikibooks, ewentualnie w innej wersji językowej Wikimedia, używany zamiast {{Code|kod języka}} i {{Code|kod projektu}} - (opcjonalny),
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka używany zamiast {{Code|klucz projektu}} - (opcjonalny),
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu używany zamiast {{Code|klucz projektu}} - (opcjonalny)}}{{#switch:{{ROOTPAGENAME}}|LinkSpecjalna|LinkSpecjalna2=|LinkWB=|#default={{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|,
* {{Code|d}} (przestarzałe) lub {{Code|dyskusja}} - tłumaczy przestrzeń nazw na przestrzeń nazw dyskusji, gdy niepusty - (opcjonalny)}}}}{{#switch:{{ROOTPAGENAME}}|LinkOgólne|LinkOgólne2=,
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} (niezalecana) lub {{Code|miano przestrzeni nazw}} - miano przestrzeni nazw kanoniczne lub niekanoniczne strony, dla projektu polskiego {{NS|pk=d|l=tak|w=tak}}, i jego siostrzanych projektów, a także dla ich wersji językowych - (opcjonalny),
* {{Code|i}} (przestarzałe), {{Code|alias}} lub {{Code|alias miana przestrzeni nazw}} - alias do nazwy przestrzeni nazw, który jest wyświetlany przed nazwą strony, jeśli nie podano nazwy linku{{#ifeq:{{ROOTPAGENAME}}|LinkOgólne| i podano niepustą zmienną {{Code|wyświetl miano przestrzeni nazw}} - (opcjonalny)}}{{#ifeq:{{ROOTPAGENAME}}|LinkOgólne2|.|,
* {{Code|w}} (przestarzałe), {{Code|wyświetl}} (niezalecana) lub {{Code|wyświetl miano przestrzeni nazw}} - jeśli wartość niepusta, to wyświetla nazwę przestrzeni nazw w nazwie linku - (opcjonalny),}}}}}}
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu nieprzekierowania, a nie są, gdy używamy przekierowania do tego szablonu.
----
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} (skrót: {{Parametr|bz|tak}}) i {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{LinkOgólne/opis/przykłady|{{ROOTPAGENAME}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Nazwa strony, do której link linkuje się.",
"type": "wiki-page-name",
"required": true
},
"2": {
"description": "Nazwa linku.",
"type": "string",
"suggested": true
},
"po": {
"aliases": [
"p"
],
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
},
"klucz projektu": {
"aliases": [
"k"
],
"description": "Kod projektu siostrzanego Wikibooks, ewentualnie w innej wersji językowej Wikimedia, używany zamiast kod języka i kod projektu."
},
"kod języka": {
"aliases": [
"kj"
],
"description": "Kod języka używany zamiast klucz projektu."
},
"kod projektu": {
"aliases": [
"kp"
],
"description": "Kod projektu używany zamiast klucz projektu."
},
"dyskusja": {
"aliases": [
"d"
],
"description": "Tłumaczy przestrzeń nazw na przestrzeń nazw dyskusji, gdy niepusty .",
"type": "string"
},
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń",
"m"
],
"description": "Miano przestrzeni nazw kanoniczne lub niekanoniczne strony, dla projektu polskiego Wikibooksa, i jego siostrzanych projektów, a także dla ich wersji językowych.",
"type": "string"
},
"skrót nazwy przestrzeni nazw": {
"aliases": [
"skrót",
"s"
],
"description": "Skrót do nazwy przestrzeni nazw, który jest wyświetlany przed nazwą strony, jeśli nie podano nazwy linku i podano niepustą zmienną wyświetl miano przestrzeni nazw.",
"type": "string"
},
"wyświetl miano przestrzeni nazw": {
"aliases": [
"wyświetl",
"w"
],
"description": "Jeśli wartość niepusta, to wyświetla nazwę przestrzeni nazw w nazwie linku.",
"type": "string"
},
"za": {
"aliases": [
"z"
],
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
}
},
"description": "Szablon ogólny linków {{LinkOgólne}}, który jest budulcem innych szablonów tego typu, służy do budowania inteligentnych linków, kolorujących je. Szablon {{LinkOgólne}} obsługuje wszystkie poniższe parametry, szablony pochodne używają tylko niektórych. Szablony, ale typowo nie między-projektowe, obsługują wszystkie parametry, oprócz nazwy przestrzeni nazw: miano przestrzeni nazw, i wyświetlania nazwy przestrzeni nazw: wyświetl miano przestrzeni nazw, i skrótu do nazwy przestrzeni nazwy: skrót nazwy przestrzeni nazw. Szablony: {{LinkSpecjalna}}, {{LinkSpecjalna2}} itp., dodatkowo nie obsługują parametru: dyskusja. Szablon {{LinkWB}}, też nie obsługuje parametru: skrót nazwy przestrzeni nazw. Szablony linków między-projektowe nie obsługują parametrów: miano przestrzeni nazw, wyświetl miano przestrzeni nazw, skrót nazwy przestrzeni nazw, klucz projektu, kod języka i kod projektu. ",
"paramOrder": [
"1",
"2",
"za",
"po",
"klucz projektu",
"kod języka",
"kod projektu",
"dyskusja",
"miano przestrzeni nazw",
"skrót nazwy przestrzeni nazw",
"wyświetl miano przestrzeni nazw"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u+$}}|{{Kategoria|Szablony linków inteligetnych z wyświetlanymi skrótowymi nazwami przestrzeni nazw}}}}
{{#switch:{{ROOTPAGENAME}}|LinkWB=|#default=
{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
{{#switch:{{ROOTPAGENAME}}
|LinkOgólne|LinkOgólne2={{Kategoria|Szablony linków inteligentnych}}
|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}
|{{Kategoria|Szablony linków inteligentnych z wyświetlanymi nieskrótowymi nazwami przestrzeni nazw}}
|{{Kategoria|Szablony linków inteligentnych z niewyświetlanymi nazwami przestrzeni nazw}}
}}
}}
{{#switch:{{ROOTPAGENAME}}
| LinkOgólne
| LinkGłówna
| LinkWikijunior
| LinkWikijunior2
| LinkProjekt
| LinkProjekt2
| LinkUżytkownik
| LinkUżytkownik2 = {{Kategorie
| Szablony pomocne do tworzenia spisów treści, książek
| Szablony stronicowe linków inteligentnych spisów rzeczy
}}
}}
|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}
|{{#switch:{{ROOTPAGENAME}}
| #default = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznych projektów, z wyświetlanymi nazwami przestrzeni nazw}}
| LinkCommonsKategoria2
| LinkMetaWikiPomoc2
| LinkMediaWikiPomoc2
| LinkMetaWikiProjekt2
| LinkMediaWikiExtension2 = {{Kategoria|Szablony linków inteligentnych, do obcojęzycznych projektów, z wyświetlanymi nazwami przestrzeni nazw}}
}}
|{{#switch:{{ROOTPAGENAME}}
| #default = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
| LinkEnGłówna
| LinkEnWikijunior
| LinkEnProjekt
| LinkEnKategoria
| LinkEnPediaGłówna = {{Kategoria|Szablony linków inteligentnych, do językowych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
| LinkWikiaGłówna
| LinkCommonsGłówna
| LinkCommonsKategoria
| LinkSpeciesGłówna
| LinkMediaWikiGłówna
| LinkMetaWikiGłówna
| LinkDaneGłówna
| LinkDaneProjekt
| LinkSpeciesProjekt
| LinkCommonsProjekt
| LinkMetaWikiSpecjalna
| LinkMetaWikiPomoc
| LinkMetaWikiProjekt
| LinkMediaWikiPomoc
| LinkMediaWikiExtension = {{Kategoria|Szablony linków inteligentnych, do obcojęzycznych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
}}
}}
}}
}}
</includeonly>
rx2w0m8ioq6eh3pj85eubm4uoy1fj86
558094
558091
2026-09-30T12:53:18Z
Persino
2851
/* Opis szablonu */
558094
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Linki}}
{{Skomplikowany}}
{{Szablony opakowań linków wewnętrznych}}
{{#if:{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|{{Skrót szablonu|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}}}|{{DivLinia}}}}
<!--DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkOgólne}} i jego pochodne w ich definicji, obsługują nazwy przestrzenie nazw kanoniczne (angielskie) lub w jakimś języku, na danym projekcie siostrzanych lub w ich wersjach językowych.
Wystarczy podać nazwę kanoniczną przestrzeni nazw, a ta nazwa zostanie przetłumaczona na nazwę charakterystyczną dla danego projektu, jeżeli podamy parametr: {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}), bez: {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), w przeciwnym przypadku tego nie zrobi.
Na przykład na projekcie bieżącym dla szablonów ogólnie nie między-projektowych, wyświetlana nazwa przestrzeni nazw zostanie przetłumaczona na nazwę charakterystyczną dla polskiego {{NS|pk=d|w=tak|l=tak}}, jeżeli ustawimy szablon, by wyświetlał to w nazwie linku, to je robi możliwie po przetłumaczeniu na język polski, ona w adresie linku nie zostanie przetłumaczona, chyba że podamy parametr {{Parametr|analiza|tak}} (lub jego skrót: {{Parametr|a|tak}}) według powyższej specyfikacji.
Szablon zwykle nie tłumaczy w adresie linku nazwy przestrzeni nazw, np. na język polski lub inny, podanym w definicji tego szablonu, jeżeli jest nazwą kanoniczną podaną w definicji tego szablonu, a jeżeli nie, to nie ma czego tłumaczyć (bo w definicji szablonu pod zmienną: {{Code|miano przestrzeni nazw}} (skrót: {{Parametr|f}}), np. jest podane: {{Code|Wikibooks}}, zamiast: {{Code|Project}}), chyba że w przeciwnym wypadku, chcemy, by przetłumaczył na język charakterystyczny dla danego projektu, wskazanym przez szablon, wtedy należy podać parametr poniżej opisany do szablonu do głębszej analizy linkowej. {{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}|A nazwa przestrzeni nazw wyświetlana w nazwie linku za to zawsze zostanie przetłumaczona na nasz język.}}
Szablon używa zmiennej: {{Code|miano przestrzeni nazw}} (skrót: {{Parametr|f}}), w sposób {{#switch:{{ROOTPAGENAME}}|LinkOgólne|LinkOgólne2=jawny (w postaci osobnego parametru) lub nie (w pierwszej zmiennej)|#default=niejawny (w postaci zmiennej w definicji tego szablonu, używając szablon {{s|LinkOgólne}} (skrót: {{s|lo}}))}}, w przeciwieństwie do {{s|Link wewnętrzny}}, który tego nie ma, tzn. nazwa przestrzeni nazw jest zawsze podana tam w sposób niejawny w postaci pierwszej zmiennej wraz z adresem linku na danym projekcie i kluczem projektu (wtedy nie ma osobnego parametru do interwiki) lub nie (w postaci zmiennej (zmiennych) do interwiki).
== Skrót szablonu ==
Szablon {{s|{{ROOTPAGENAME}}}} posiada swój skrót: {{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}}}.
== Użycie ==
{{LinkOgólne/opis/linki|{{ROOTPAGENAME}}}}
{{LinkOgólne/opis/definicje|{{ROOTPAGENAME}}}}
== Opis parametrów ==
{{#switch:{{ROOTPAGENAME}}|LinkWB=
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}}}}}
|LinkSpecjalna=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|LinkSpecjalna2=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|LinkOgólne=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}|f{{=}}|i{{=}}|w{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}|wyświetl miano przestrzeni nazw{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}|f{{=}}|i{{=}}|w{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}|wyświetl miano przestrzeni nazw{{=}}}}}}
|LinkOgólne2=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}|f{{=}}|i{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}|f{{=}}|i{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}}}}}
|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=[^2]$}}|{{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}}}}}
|
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|d{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|dyskusja{{=}}}}}}
}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|
; Pełne skrótowe wywołanie
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}}}}}
}}}}|{{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|po{{=}}|kj{{=}}|kp{{=}}|d{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}}}}}
|
; Pełne skrótowe wywołanie
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|d{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|dyskusja{{=}}}}}}
}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}}}}}
}}}}}}}}
; Parametry szablonu
* {{Code|1}} - nazwa strony, do której link linkuje się{{#ifeq:{{ROOTPAGENAME}}|LinkWB|,|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=[^2]$}}|,
* {{Code|2}} - nazwa linku - (sugerowany),|,}}}}
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku za pomocą umieszczenia jego bezpośrednio za nazwą linku - (opcjonalny),
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku za pomocą umieszczenia jego bezpośrednio za linkiem - (opcjonalny){{#switch:{{ROOTPAGENAME}}|LinkWB=.|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|,
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - kod projektu siostrzanego Wikibooks, ewentualnie w innej wersji językowej Wikimedia, używany zamiast {{Code|kod języka}} i {{Code|kod projektu}} - (opcjonalny),
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka używany zamiast {{Code|klucz projektu}} - (opcjonalny),
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu używany zamiast {{Code|klucz projektu}} - (opcjonalny)}}{{#switch:{{ROOTPAGENAME}}|LinkSpecjalna|LinkSpecjalna2=|LinkWB=|#default={{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|,
* {{Code|d}} (przestarzałe) lub {{Code|dyskusja}} - tłumaczy przestrzeń nazw na przestrzeń nazw dyskusji, gdy niepusty - (opcjonalny)}}}}{{#switch:{{ROOTPAGENAME}}|LinkOgólne|LinkOgólne2=,
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} (niezalecana) lub {{Code|miano przestrzeni nazw}} - miano przestrzeni nazw kanoniczne lub niekanoniczne strony, dla projektu polskiego {{NS|pk=d|l=tak|w=tak}}, i jego siostrzanych projektów, a także dla ich wersji językowych - (opcjonalny),
* {{Code|i}} (przestarzałe), {{Code|alias}} lub {{Code|alias miana przestrzeni nazw}} - alias do nazwy przestrzeni nazw, który jest wyświetlany przed nazwą strony, jeśli nie podano nazwy linku{{#ifeq:{{ROOTPAGENAME}}|LinkOgólne| i podano niepustą zmienną {{Code|wyświetl miano przestrzeni nazw}} - (opcjonalny)}}{{#ifeq:{{ROOTPAGENAME}}|LinkOgólne2|.|,
* {{Code|w}} (przestarzałe), {{Code|wyświetl}} (niezalecana) lub {{Code|wyświetl miano przestrzeni nazw}} - jeśli wartość niepusta, to wyświetla nazwę przestrzeni nazw w nazwie linku - (opcjonalny),}}}}}}
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu nieprzekierowania, a nie są, gdy używamy przekierowania do tego szablonu.
----
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} (skrót: {{Parametr|bz|tak}}) i {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{LinkOgólne/opis/przykłady|{{ROOTPAGENAME}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Nazwa strony, do której link linkuje się.",
"type": "wiki-page-name",
"required": true
},
"2": {
"description": "Nazwa linku.",
"type": "string",
"suggested": true
},
"po": {
"aliases": [
"p"
],
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
},
"klucz projektu": {
"aliases": [
"k"
],
"description": "Kod projektu siostrzanego Wikibooks, ewentualnie w innej wersji językowej Wikimedia, używany zamiast kod języka i kod projektu."
},
"kod języka": {
"aliases": [
"kj"
],
"description": "Kod języka używany zamiast klucz projektu."
},
"kod projektu": {
"aliases": [
"kp"
],
"description": "Kod projektu używany zamiast klucz projektu."
},
"dyskusja": {
"aliases": [
"d"
],
"description": "Tłumaczy przestrzeń nazw na przestrzeń nazw dyskusji, gdy niepusty .",
"type": "string"
},
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń",
"m"
],
"description": "Miano przestrzeni nazw kanoniczne lub niekanoniczne strony, dla projektu polskiego Wikibooksa, i jego siostrzanych projektów, a także dla ich wersji językowych.",
"type": "string"
},
"skrót nazwy przestrzeni nazw": {
"aliases": [
"skrót",
"s"
],
"description": "Skrót do nazwy przestrzeni nazw, który jest wyświetlany przed nazwą strony, jeśli nie podano nazwy linku i podano niepustą zmienną wyświetl miano przestrzeni nazw.",
"type": "string"
},
"wyświetl miano przestrzeni nazw": {
"aliases": [
"wyświetl",
"w"
],
"description": "Jeśli wartość niepusta, to wyświetla nazwę przestrzeni nazw w nazwie linku.",
"type": "string"
},
"za": {
"aliases": [
"z"
],
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
}
},
"description": "Szablon ogólny linków {{LinkOgólne}}, który jest budulcem innych szablonów tego typu, służy do budowania inteligentnych linków, kolorujących je. Szablon {{LinkOgólne}} obsługuje wszystkie poniższe parametry, szablony pochodne używają tylko niektórych. Szablony, ale typowo nie między-projektowe, obsługują wszystkie parametry, oprócz nazwy przestrzeni nazw: miano przestrzeni nazw, i wyświetlania nazwy przestrzeni nazw: wyświetl miano przestrzeni nazw, i skrótu do nazwy przestrzeni nazwy: skrót nazwy przestrzeni nazw. Szablony: {{LinkSpecjalna}}, {{LinkSpecjalna2}} itp., dodatkowo nie obsługują parametru: dyskusja. Szablon {{LinkWB}}, też nie obsługuje parametru: skrót nazwy przestrzeni nazw. Szablony linków między-projektowe nie obsługują parametrów: miano przestrzeni nazw, wyświetl miano przestrzeni nazw, skrót nazwy przestrzeni nazw, klucz projektu, kod języka i kod projektu. ",
"paramOrder": [
"1",
"2",
"za",
"po",
"klucz projektu",
"kod języka",
"kod projektu",
"dyskusja",
"miano przestrzeni nazw",
"skrót nazwy przestrzeni nazw",
"wyświetl miano przestrzeni nazw"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u+$}}|{{Kategoria|Szablony linków inteligetnych z wyświetlanymi skrótowymi nazwami przestrzeni nazw}}}}
{{#switch:{{ROOTPAGENAME}}|LinkWB=|#default=
{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
{{#switch:{{ROOTPAGENAME}}
|LinkOgólne|LinkOgólne2={{Kategoria|Szablony linków inteligentnych}}
|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}
|{{Kategoria|Szablony linków inteligentnych z wyświetlanymi nieskrótowymi nazwami przestrzeni nazw}}
|{{Kategoria|Szablony linków inteligentnych z niewyświetlanymi nazwami przestrzeni nazw}}
}}
}}
{{#switch:{{ROOTPAGENAME}}
| LinkOgólne
| LinkGłówna
| LinkWikijunior
| LinkWikijunior2
| LinkProjekt
| LinkProjekt2
| LinkUżytkownik
| LinkUżytkownik2 = {{Kategorie
| Szablony pomocne do tworzenia spisów treści, książek
| Szablony stronicowe linków inteligentnych spisów rzeczy
}}
}}
|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}
|{{#switch:{{ROOTPAGENAME}}
| #default = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznych projektów, z wyświetlanymi nazwami przestrzeni nazw}}
| LinkCommonsKategoria2
| LinkMetaWikiPomoc2
| LinkMediaWikiPomoc2
| LinkMetaWikiProjekt2
| LinkMediaWikiExtension2 = {{Kategoria|Szablony linków inteligentnych, do obcojęzycznych projektów, z wyświetlanymi nazwami przestrzeni nazw}}
}}
|{{#switch:{{ROOTPAGENAME}}
| #default = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
| LinkEnGłówna
| LinkEnWikijunior
| LinkEnProjekt
| LinkEnKategoria
| LinkEnPediaGłówna = {{Kategoria|Szablony linków inteligentnych, do językowych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
| LinkWikiaGłówna
| LinkCommonsGłówna
| LinkCommonsKategoria
| LinkSpeciesGłówna
| LinkMediaWikiGłówna
| LinkMetaWikiGłówna
| LinkDaneGłówna
| LinkDaneProjekt
| LinkSpeciesProjekt
| LinkCommonsProjekt
| LinkMetaWikiSpecjalna
| LinkMetaWikiPomoc
| LinkMetaWikiProjekt
| LinkMediaWikiPomoc
| LinkMediaWikiExtension = {{Kategoria|Szablony linków inteligentnych, do obcojęzycznych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
}}
}}
}}
}}
</includeonly>
tpyvtyromuxd124knh1aqboyshxmdd9
558095
558094
2026-09-30T12:53:42Z
Persino
2851
/* Opis szablonu */
558095
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Linki}}
{{Skomplikowany}}
{{Szablony opakowań linków wewnętrznych}}
{{#if:{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|{{Skrót szablonu|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}}}|{{DivLinia}}}}
<!--DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkOgólne}} i jego pochodne w ich definicji, obsługują nazwy przestrzenie nazw kanoniczne (angielskie) lub w jakimś języku, na danym projekcie siostrzanych lub w ich wersjach językowych.
Wystarczy podać nazwę kanoniczną przestrzeni nazw, a ta nazwa zostanie przetłumaczona na nazwę charakterystyczną dla danego projektu, jeżeli podamy parametr: {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}), bez: {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), w przeciwnym przypadku tego nie zrobi.
Na przykład na projekcie bieżącym dla szablonów ogólnie nie między-projektowych, wyświetlana nazwa przestrzeni nazw zostanie przetłumaczona na nazwę charakterystyczną dla polskiego {{NS|pk=d|w=tak|l=tak}}, jeżeli ustawimy szablon, by wyświetlał to w nazwie linku, to je robi możliwie po przetłumaczeniu na język polski, ona w adresie linku nie zostanie przetłumaczona, chyba że podamy parametr {{Parametr|analiza|tak}} (lub jego skrót: {{Parametr|a|tak}}) według powyższej specyfikacji.
Szablon zwykle nie tłumaczy w adresie linku nazwy przestrzeni nazw, np. na język polski lub inny, podanym w definicji tego szablonu, jeżeli jest nazwą kanoniczną podaną w definicji tego szablonu, a jeżeli nie, to nie ma czego tłumaczyć (bo w definicji szablonu pod zmienną: {{Code|miano przestrzeni nazw}} (skrót: {{Parametr|f}}), np. jest podane: {{Code|Wikibooks}}, zamiast: {{Code|Project}}), chyba że w przeciwnym wypadku, chcemy, by przetłumaczył na język charakterystyczny dla danego projektu, wskazanym przez szablon, wtedy należy podać parametr poniżej opisany do szablonu do głębszej analizy linkowej. {{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}|A nazwa przestrzeni nazw wyświetlana w nazwie linku za to zawsze zostanie przetłumaczona na nasz język.}}
Szablon używa zmiennej: {{Code|miano przestrzeni nazw}} (skrót: {{Parametr|f}}), w sposób {{#switch:{{ROOTPAGENAME}}|LinkOgólne|LinkOgólne2=jawny (w postaci osobnego parametru) lub nie (w pierwszej zmiennej)|#default=niejawny (w postaci zmiennej w definicji tego szablonu, używając szablon {{s|LinkOgólne}} (skrót: {{s|lo}}))}}, w przeciwieństwie do {{s|Link wewnętrzny}}, który tego nie ma, tzn. nazwa przestrzeni nazw jest zawsze podana tam w sposób niejawny w postaci pierwszej zmiennej wraz z adresem linku na danym projekcie i kluczem projektu (wtedy nie ma osobnego parametru do interwiki) lub nie (w postaci zmiennej (zmiennych) do interwiki).
== Skrót szablonu ==
Szablon {{s|{{ROOTPAGENAME}}}} posiada swój skrót: {{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}}}.
== Użycie ==
{{LinkOgólne/opis/linki|{{ROOTPAGENAME}}}}
{{LinkOgólne/opis/definicje|{{ROOTPAGENAME}}}}
== Opis parametrów ==
{{#switch:{{ROOTPAGENAME}}|LinkWB=
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}}}}}
|LinkSpecjalna=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|LinkSpecjalna2=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|LinkOgólne=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}|f{{=}}|i{{=}}|w{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}|wyświetl miano przestrzeni nazw{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}|f{{=}}|i{{=}}|w{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}|wyświetl miano przestrzeni nazw{{=}}}}}}
|LinkOgólne2=
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}|f{{=}}|i{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}|f{{=}}|i{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}|miano przestrzeni nazw{{=}}|alias miana przestrzeni nazw{{=}}}}}}
|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=[^2]$}}|{{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}|d{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}}}}}
|
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|d{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|dyskusja{{=}}}}}}
}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|
; Pełne skrótowe wywołanie
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|2{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|2{{=}}|za{{=}}|po{{=}}}}}}
}}}}|{{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}|d{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}|dyskusja{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|po{{=}}|kj{{=}}|kp{{=}}|d{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}|dyskusja{{=}}}}}}
|
; Pełne skrótowe wywołanie
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|d{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|dyskusja{{=}}}}}}
}}|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
; Pełne pierwsze wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|k{{=}}}}}}
; Pełne pierwsze wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|klucz projektu{{=}}}}}}
; Pełne drugie wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne drugie wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
|
; Pełne wywołanie skrótowe
{{Pre|{{s|{{LinkOgólne/skrót|{{ROOTPAGENAME}}}}|1{{=}}|z{{=}}|p{{=}}}}}}
; Pełne wywołanie
{{Pre|{{s|{{ROOTPAGENAME}}|1{{=}}|za{{=}}|po{{=}}}}}}
}}}}}}}}
; Parametry szablonu
* {{Code|1}} - nazwa strony, do której link linkuje się{{#ifeq:{{ROOTPAGENAME}}|LinkWB|,|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=[^2]$}}|,
* {{Code|2}} - nazwa linku - (sugerowany),|,}}}}
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku za pomocą umieszczenia jego bezpośrednio za nazwą linku - (opcjonalny),
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku za pomocą umieszczenia jego bezpośrednio za linkiem - (opcjonalny){{#switch:{{ROOTPAGENAME}}|LinkWB=.|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|,
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - kod projektu siostrzanego Wikibooks, ewentualnie w innej wersji językowej Wikimedia, używany zamiast {{Code|kod języka}} i {{Code|kod projektu}} - (opcjonalny),
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka używany zamiast {{Code|klucz projektu}} - (opcjonalny),
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu używany zamiast {{Code|klucz projektu}} - (opcjonalny)}}{{#switch:{{ROOTPAGENAME}}|LinkSpecjalna|LinkSpecjalna2=|LinkWB=|#default={{#if:{{#invoke:Parametry|Not|{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=Specjalna2?$}}}}|,
* {{Code|d}} (przestarzałe) lub {{Code|dyskusja}} - tłumaczy przestrzeń nazw na przestrzeń nazw dyskusji, gdy niepusty - (opcjonalny)}}}}{{#switch:{{ROOTPAGENAME}}|LinkOgólne|LinkOgólne2=,
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} (niezalecana) lub {{Code|miano przestrzeni nazw}} - miano przestrzeni nazw kanoniczne lub niekanoniczne strony, dla projektu polskiego {{NS|pk=d|l=tak|w=tak}}, i jego siostrzanych projektów, a także dla ich wersji językowych - (opcjonalny),
* {{Code|i}} (przestarzałe), {{Code|alias}} lub {{Code|alias miana przestrzeni nazw}} - alias do nazwy przestrzeni nazw, który jest wyświetlany przed nazwą strony, jeśli nie podano nazwy linku{{#ifeq:{{ROOTPAGENAME}}|LinkOgólne| i podano niepustą zmienną {{Code|wyświetl miano przestrzeni nazw}} - (opcjonalny)}}{{#ifeq:{{ROOTPAGENAME}}|LinkOgólne2|.|,
* {{Code|w}} (przestarzałe), {{Code|wyświetl}} (niezalecana) lub {{Code|wyświetl miano przestrzeni nazw}} - jeśli wartość niepusta, to wyświetla nazwę przestrzeni nazw w nazwie linku - (opcjonalny),}}}}}}
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu nieprzekierowania, a nie są, gdy używamy przekierowania do tego szablonu.
----
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} (skrót: {{Parametr|bz|tak}}) i {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{LinkOgólne/opis/przykłady|{{ROOTPAGENAME}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Nazwa strony, do której link linkuje się.",
"type": "wiki-page-name",
"required": true
},
"2": {
"description": "Nazwa linku.",
"type": "string",
"suggested": true
},
"po": {
"aliases": [
"p"
],
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
},
"klucz projektu": {
"aliases": [
"k"
],
"description": "Kod projektu siostrzanego Wikibooks, ewentualnie w innej wersji językowej Wikimedia, używany zamiast kod języka i kod projektu."
},
"kod języka": {
"aliases": [
"kj"
],
"description": "Kod języka używany zamiast klucz projektu."
},
"kod projektu": {
"aliases": [
"kp"
],
"description": "Kod projektu używany zamiast klucz projektu."
},
"dyskusja": {
"aliases": [
"d"
],
"description": "Tłumaczy przestrzeń nazw na przestrzeń nazw dyskusji, gdy niepusty .",
"type": "string"
},
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń",
"m"
],
"description": "Miano przestrzeni nazw kanoniczne lub niekanoniczne strony, dla projektu polskiego Wikibooksa, i jego siostrzanych projektów, a także dla ich wersji językowych.",
"type": "string"
},
"skrót nazwy przestrzeni nazw": {
"aliases": [
"skrót",
"s"
],
"description": "Skrót do nazwy przestrzeni nazw, który jest wyświetlany przed nazwą strony, jeśli nie podano nazwy linku i podano niepustą zmienną wyświetl miano przestrzeni nazw.",
"type": "string"
},
"wyświetl miano przestrzeni nazw": {
"aliases": [
"wyświetl",
"w"
],
"description": "Jeśli wartość niepusta, to wyświetla nazwę przestrzeni nazw w nazwie linku.",
"type": "string"
},
"za": {
"aliases": [
"z"
],
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
}
},
"description": "Szablon ogólny linków {{LinkOgólne}}, który jest budulcem innych szablonów tego typu, służy do budowania inteligentnych linków, kolorujących je. Szablon {{LinkOgólne}} obsługuje wszystkie poniższe parametry, szablony pochodne używają tylko niektórych. Szablony, ale typowo nie między-projektowe, obsługują wszystkie parametry, oprócz nazwy przestrzeni nazw: miano przestrzeni nazw, i wyświetlania nazwy przestrzeni nazw: wyświetl miano przestrzeni nazw, i skrótu do nazwy przestrzeni nazwy: skrót nazwy przestrzeni nazw. Szablony: {{LinkSpecjalna}}, {{LinkSpecjalna2}} itp., dodatkowo nie obsługują parametru: dyskusja. Szablon {{LinkWB}}, też nie obsługuje parametru: skrót nazwy przestrzeni nazw. Szablony linków między-projektowe nie obsługują parametrów: miano przestrzeni nazw, wyświetl miano przestrzeni nazw, skrót nazwy przestrzeni nazw, klucz projektu, kod języka i kod projektu. ",
"paramOrder": [
"1",
"2",
"za",
"po",
"klucz projektu",
"kod języka",
"kod projektu",
"dyskusja",
"miano przestrzeni nazw",
"skrót nazwy przestrzeni nazw",
"wyświetl miano przestrzeni nazw"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u+$}}|{{Kategoria|Szablony linków inteligetnych z wyświetlanymi skrótowymi nazwami przestrzeni nazw}}}}
{{#switch:{{ROOTPAGENAME}}|LinkWB=|#default=
{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^Link%u%l+2?$}}|
{{#switch:{{ROOTPAGENAME}}
|LinkOgólne|LinkOgólne2={{Kategoria|Szablony linków inteligentnych}}
|#default={{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}
|{{Kategoria|Szablony linków inteligentnych z wyświetlanymi nieskrótowymi nazwami przestrzeni nazw}}
|{{Kategoria|Szablony linków inteligentnych z niewyświetlanymi nazwami przestrzeni nazw}}
}}
}}
{{#switch:{{ROOTPAGENAME}}
| LinkOgólne
| LinkGłówna
| LinkWikijunior
| LinkWikijunior2
| LinkProjekt
| LinkProjekt2
| LinkUżytkownik
| LinkUżytkownik2 = {{Kategorie
| Szablony pomocne do tworzenia spisów treści, książek
| Szablony stronicowe linków inteligentnych spisów rzeczy
}}
}}
|{{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=2$}}
|{{#switch:{{ROOTPAGENAME}}
| #default = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznych projektów, z wyświetlanymi nazwami przestrzeni nazw}}
| LinkCommonsKategoria2
| LinkMetaWikiPomoc2
| LinkMediaWikiPomoc2
| LinkMetaWikiProjekt2
| LinkMediaWikiExtension2 = {{Kategoria|Szablony linków inteligentnych, do obcojęzycznych projektów, z wyświetlanymi nazwami przestrzeni nazw}}
}}
|{{#switch:{{ROOTPAGENAME}}
| #default = {{Kategoria|Szablony linków inteligentnych, do polskojęzycznych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
| LinkEnGłówna
| LinkEnWikijunior
| LinkEnProjekt
| LinkEnKategoria
| LinkEnPediaGłówna = {{Kategoria|Szablony linków inteligentnych, do językowych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
| LinkWikiaGłówna
| LinkCommonsGłówna
| LinkCommonsKategoria
| LinkSpeciesGłówna
| LinkMediaWikiGłówna
| LinkMetaWikiGłówna
| LinkDaneGłówna
| LinkDaneProjekt
| LinkSpeciesProjekt
| LinkCommonsProjekt
| LinkMetaWikiSpecjalna
| LinkMetaWikiPomoc
| LinkMetaWikiProjekt
| LinkMediaWikiPomoc
| LinkMediaWikiExtension = {{Kategoria|Szablony linków inteligentnych, do obcojęzycznych projektów, z niewyświetlanymi nazwami przestrzeni nazw}}
}}
}}
}}
}}
</includeonly>
4pysboqx72psoyj23asx2557hszr2gz
Szablon:Link wewnętrzny/opis
10
56016
558089
553142
2026-09-30T12:45:18Z
Persino
2851
/* Użycie */
558089
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|Link wewnętrzny={{Skrót szablonu|Ly}}|#defualt={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Jest to specjalistyczny szablon linków inteligetnych (tzw. linki inteligetne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie {{s|Link wewnętrzny}}, który się znajduje pod tabelą wywołania szablonowego {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów CSS, które są od nadawawia barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NAZWASERWISU|klucz projektu=d|link=tak}}.
Sprawdza, jeśli podano również nazwę linku, czy ona jest taka sama jak adres linku, a jeśli tak, to w definicji jego używa tylko adresu linku, a jeśli nie, to adresu linku i nazwy linku. Szablon nie używa parametru obsługujących nazwę przestrzeni nazw, w przeciwieństwie do {{s|LinkOgólne}} (skrót: {{s|lo}}) i {{s|LinkOgólne2}} (skrót: {{s|lo2}}), które używają to bezpośrednio, i jego pochodnych, używające pośrednio.
=== Przykłady linków z zastosowanymi kolorami w kaskadowym arkuszu stylów: {{ls2|Link wewnętrzny/styles.css}} ===
{{Tabela nawigacyjna
| tytuł = Spis kodów i im odpowiadających kolorów, linków wewnętrznych i zewnętrznych, na przykładzie jednego przykładowego linku
| spis = <templatestyles src="Szablon:Link_wewnętrzny/styles.css" />
* Link: {{Span|klasa=iw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iw}} - strona istnieje na tej wiki,
* Link: {{Span|klasa=inw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inw}} - strona z nagłówkiem istnieje na tej wiki,
* Link: {{Span|klasa=niw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niw}} - strona nie istnieje na tej wiki,
* Link: {{Span|klasa=ninw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninw}} - strona z nagłówkiem nie istnieje na tej wiki,
* Link: {{Span|klasa=iwew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwew}} - strona istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=inwew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwew}} - strona z nagłówkiem istnieje na tej wiki, jako element wikidanych,
* Link: {{Span|klasa=iew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iew}} - strona istnieje jako element wikidanych,
* Link: {{Span|klasa=inew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inew}} - strona z nagłówkiem istnieje jako element wikidanych,
* Link: {{Span|klasa=niew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niew}} - strona nie istnieje jako element wikidanych,
* Link: {{Span|klasa=ninew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninew}} - strona z nagłówkiem nie istnieje jako element wikidanych,
* Link: {{Span|klasa=wash link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wash}} - strona z linkiem aktywnym wskazuje na aktualną stronę,
* Link: {{Span|klasa=was link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|was}} - strona z linkiem nieaktywnym wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasn link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasn}} - strona z nagłówkiem wskazuje na aktualną stronę,
* Link: {{Span|klasa=washew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washew}} - strona z linkiem aktywnym wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasew}} - strona z linkiem nieaktywnym wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasnew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnew}} - strona z nagłówkiem wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=ipw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ipw}} - strona istnieje poza wikidane,
* Link: {{Span|klasa=inwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwp}} - strona z nagłówkiem istnieje poza wikidane,
* Link: {{Span|klasa=dwni link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|dwni}} - strona wskazująca na daną wiki, która nie istnieje,
* Link: {{Span|klasa=su link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|su}} - strona z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=sun link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sun}} - strona z nagłówkiem z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=iwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwp}} - strona z parametrami istnieje na tej wiki,
* Link: {{Span|klasa=inwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwp}} - strona z parametrami i nagłówkiem istnieje na tej wiki,
* Link: {{Span|klasa=niwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niwp}} - strona z parametrami nie istnieje na tej wiki,
* Link: {{Span|klasa=ninwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninwp}} - strona z parametrami i nagłówkiem nie istnieje na tej wiki,
* Link: {{Span|klasa=iwewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwewp}} - strona z parametrami istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=inwewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwewp}} - strona z parametrami i nagłówkiem istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=iewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iewp}} - strona z parametrami istnieje jako element wikidanych,
* Link: {{Span|klasa=inewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inewp}} - strona z parametrami i nagłówkiem istnieje jako element wikidanych,
* Link: {{Span|klasa=niewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niewp}} - strona z parametrami nie istnieje jako element wikidanych,
* Link: {{Span|klasa=ninewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninewp}} - strona z parametrami i nagłówkiem nie istnieje jako element wikidanych,
* Link: {{Span|klasa=washp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washp}} - strona, z linkiem aktywnym, z parametrami wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasp}} - strona, z linkiem nieaktywnym, z parametrami wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasnp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnp}} - strona z parametrami i nagłówkiem wskazuje na aktualną stronę,
* Link: {{Span|klasa=washewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washewp}} - strona, z linkiem aktywnym, z parametrami wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasewp}} - strona, z linkiem nieaktywnym, z parametrami wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasnewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnewp}} - strona z parametrami i nagłówkiem wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=ipwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ipwp}} - strona z parametrami istnieje poza wikidane,
* Link: {{Span|klasa=inpwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inpwp}} - strona z parametrami i nagłówkiem istnieje poza wikidane,
* Link: {{Span|klasa=dwnip link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|dwnip}} - strona z parametrami wskazująca na daną wiki, która nie istnieje,
* Link: {{Span|klasa=sup link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sup}} - strona z parametrami z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=sunp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sunp}} - strona z parametrami i nagłówkiem, z adresem URL niewskazującą na projekty WIKI.
}}
----
Z szablonu {{s|Link wewnętrzny/styles.css}} (z kaskadowych arkuszy stylów) korzystają szablony: {{s|Link wewnętrzny}} (skrót: {{s|ly}}), {{s|LinkURL}} (skrót: {{s|lz}}), {{s|LinkOgólne}} (skrót: {{s|lo}}) (i z niego korzystające wedle ich definicji), {{s|LinkUstęp}} (skrót: {{s|lu}}) (i z niego korzystające wedle ich definicji), {{s|Sekcja referencyjna}} (skrót: {{s|sr}}) i szablony symbolizujące wikikod, zbudowanych przy pomocy linków wewnętrznych: {{s|S}} i {{s|M}}, a także: {{s|L}}, oraz szablony sekcji: {{s|Osobny artykuł}}, {{s|Zobacz głównie}}, {{s|Zobacz sekcję}}, {{s|Zobacz też}}, {{s|Główny artykuł}}, {{s|Kategoria główna}} i {{s|Zobacz kategorię}} - i inne, sformułowane w oparciu o nie.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie
{{Pre|{{s|Ly|s{{=}}|n{{=}}|z{{=}}|p{{=}}|g{{=}}|k{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie
{{Pre|{{s|Link wewnętrzny|strona{{=}}|nazwa{{=}}|za{{=}}|po{{=}}|nagłówek{{=}}|klucz projektu{{=}}}}}}
----
;Pełne skrótowe drugie wywołanie
{{Pre|{{s|Ly|s{{=}}|n{{=}}|z{{=}}|p{{=}}|g{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie
{{Pre|{{s|Link wewnętrzny|strona{{=}}|nazwa{{=}}|za{{=}}|po{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
; Szablon przyjmuje tylko parametry nazwane:
* {{Code|s}} lub {{Code|strona}} - pełna nazwa strony bez kodu projektu lub języka, do której ma linkować na tym samym projekcje lub innym,
* {{Code|n}} lub {{Code|nazwa}} - nazwa linku,
* {{Code|z}} lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|g}} lub {{Code|nagłówek}} - nagłówek rozdziału strony, do którego ma linkować,
* {{Code|k}} lub {{Code|klucz projektu}} - klucz projektu siostrzanego lub językowego, używany zamiast {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} lub {{Code|kod języka}} - kod języka projektu, używany zamiast {{Code|klucz projektu}},
* {{Code|kp}} lub {{Code|kod projektu}} - kod projektu, używany zamiast {{Code|klucz projektu}},
* {{Code|u}} lub {{Code|uri}} - jeśli niepuste, to traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} (skrót: {{Parametr|bz|tak}}) i {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykład ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{Pre start}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|n{{=}}Spis treści}} → {{ly|s=Pomoc:Spis treści|n=Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|n=Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|n{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści|n=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|n=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp}} → {{ly|s=Pomoc:Spis treści|g=Wstęp}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Pomoc:Spis treści#Wstęp}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści#Wstęp}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści#Wstęp}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Spis treści}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Szablony}} → {{ly|s=Kategoria:Szablony|n=Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Kategoria:Szablony}} → {{ly|s=Kategoria:Szablony|n=Kategoria:Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Kategoria:Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}w:Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=w:Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=w:Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}:Kategoria:Szablony}} → {{ly|s=Kategoria:Szablony|n=:Kategoria:Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=:Kategoria:Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}:w:Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=:w:Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=:w:Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}Category:Wikipedia templates|k{{=}}en:w}} → {{ly|s=Category:Wikipedia templates|n=Category:Wikipedia templates|k=en:w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=Category:Wikipedia templates|k=en:w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}en:w:Category:Wikipedia templates|k{{=}}w:en}} → {{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|k=w:en}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|k=w:en}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}en:w:Category:Wikipedia templates|kj{{=}}en|kp{{=}}w}} → {{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|kj=en|kp=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|kj=en|kp=w}}}}}}<!--
-->{{Pre koniec}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"strona": {
"description": "Pełna nazwa strony.",
"type": "wiki-page-name",
"required": true,
"aliases": [
"s"
]
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string",
"suggested": true,
"aliases": [
"g"
]
},
"nazwa": {
"description": "Nazwa linku.",
"type": "string",
"suggested": true,
"aliases": [
"n"
]
},
"klucz projektu": {
"description": "Klucz danego projektu siostrzanego lub językowego Wikibooksa, używany zamiast zmiennych \"kod języka\" i \"kod projektu\".",
"aliases": [
"k"
]
},
"kod języka": {
"description": "Kod języka projektu, do którego linkuje link, używany zamiast \"klucz projektu\".",
"aliases": [
"kj"
]
},
"kod projektu": {
"description": "Kod projektu, do którego linkuje link, używany zamiast \"klucz projektu\".",
"aliases": [
"kp"
]
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string",
"aliases": [
"z"
]
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string",
"aliases": [
"p"
]
}
},
"description": "Szablon do tworzenia linków, inteligentnych kolorujących w zależności do jakiej kategorii należą, wewnętrznych. Sprawdza, jeśli podano również nazwę linku, czy ona jest taka sama jak adres linku, a jeśli tak, to w definicji jego używa tylko adresu linku, a jeśli nie, to adresu linku i nazwy linku. Szablon nie używa parametru obsługujących nazwę przestrzeni nazw, w przeciwieństwie do {{LinkOgólne}} i {{LinkOgólne2}}, które używają to bezpośrednio, i jego pochodnych, używające pośrednio.",
"paramOrder": [
"strona",
"nagłówek",
"nazwa",
"za",
"po",
"klucz projektu",
"kod języka",
"kod projektu"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony linków wewnętrznych
| Szablony pomocne do tworzenia spisów treści, książek
}}
</includeonly>
njdmk0v0r8bq5c45tpaapeo1jgqyw94
558090
558089
2026-09-30T12:48:00Z
Persino
2851
/* Użycie */
558090
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|Link wewnętrzny={{Skrót szablonu|Ly}}|#defualt={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Jest to specjalistyczny szablon linków inteligetnych (tzw. linki inteligetne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Sprawdza, jeśli podano również nazwę linku, czy ona jest taka sama jak adres linku, a jeśli tak, to w definicji jego używa tylko adresu linku, a jeśli nie, to adresu linku i nazwy linku. Szablon nie używa parametru obsługujących nazwę przestrzeni nazw, w przeciwieństwie do {{s|LinkOgólne}} (skrót: {{s|lo}}) i {{s|LinkOgólne2}} (skrót: {{s|lo2}}), które używają to bezpośrednio, i jego pochodnych, używające pośrednio.
=== Przykłady linków z zastosowanymi kolorami w kaskadowym arkuszu stylów: {{ls2|Link wewnętrzny/styles.css}} ===
{{Tabela nawigacyjna
| tytuł = Spis kodów i im odpowiadających kolorów, linków wewnętrznych i zewnętrznych, na przykładzie jednego przykładowego linku
| spis = <templatestyles src="Szablon:Link_wewnętrzny/styles.css" />
* Link: {{Span|klasa=iw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iw}} - strona istnieje na tej wiki,
* Link: {{Span|klasa=inw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inw}} - strona z nagłówkiem istnieje na tej wiki,
* Link: {{Span|klasa=niw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niw}} - strona nie istnieje na tej wiki,
* Link: {{Span|klasa=ninw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninw}} - strona z nagłówkiem nie istnieje na tej wiki,
* Link: {{Span|klasa=iwew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwew}} - strona istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=inwew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwew}} - strona z nagłówkiem istnieje na tej wiki, jako element wikidanych,
* Link: {{Span|klasa=iew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iew}} - strona istnieje jako element wikidanych,
* Link: {{Span|klasa=inew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inew}} - strona z nagłówkiem istnieje jako element wikidanych,
* Link: {{Span|klasa=niew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niew}} - strona nie istnieje jako element wikidanych,
* Link: {{Span|klasa=ninew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninew}} - strona z nagłówkiem nie istnieje jako element wikidanych,
* Link: {{Span|klasa=wash link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wash}} - strona z linkiem aktywnym wskazuje na aktualną stronę,
* Link: {{Span|klasa=was link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|was}} - strona z linkiem nieaktywnym wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasn link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasn}} - strona z nagłówkiem wskazuje na aktualną stronę,
* Link: {{Span|klasa=washew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washew}} - strona z linkiem aktywnym wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasew}} - strona z linkiem nieaktywnym wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasnew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnew}} - strona z nagłówkiem wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=ipw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ipw}} - strona istnieje poza wikidane,
* Link: {{Span|klasa=inwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwp}} - strona z nagłówkiem istnieje poza wikidane,
* Link: {{Span|klasa=dwni link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|dwni}} - strona wskazująca na daną wiki, która nie istnieje,
* Link: {{Span|klasa=su link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|su}} - strona z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=sun link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sun}} - strona z nagłówkiem z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=iwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwp}} - strona z parametrami istnieje na tej wiki,
* Link: {{Span|klasa=inwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwp}} - strona z parametrami i nagłówkiem istnieje na tej wiki,
* Link: {{Span|klasa=niwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niwp}} - strona z parametrami nie istnieje na tej wiki,
* Link: {{Span|klasa=ninwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninwp}} - strona z parametrami i nagłówkiem nie istnieje na tej wiki,
* Link: {{Span|klasa=iwewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwewp}} - strona z parametrami istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=inwewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwewp}} - strona z parametrami i nagłówkiem istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=iewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iewp}} - strona z parametrami istnieje jako element wikidanych,
* Link: {{Span|klasa=inewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inewp}} - strona z parametrami i nagłówkiem istnieje jako element wikidanych,
* Link: {{Span|klasa=niewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niewp}} - strona z parametrami nie istnieje jako element wikidanych,
* Link: {{Span|klasa=ninewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninewp}} - strona z parametrami i nagłówkiem nie istnieje jako element wikidanych,
* Link: {{Span|klasa=washp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washp}} - strona, z linkiem aktywnym, z parametrami wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasp}} - strona, z linkiem nieaktywnym, z parametrami wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasnp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnp}} - strona z parametrami i nagłówkiem wskazuje na aktualną stronę,
* Link: {{Span|klasa=washewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washewp}} - strona, z linkiem aktywnym, z parametrami wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasewp}} - strona, z linkiem nieaktywnym, z parametrami wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasnewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnewp}} - strona z parametrami i nagłówkiem wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=ipwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ipwp}} - strona z parametrami istnieje poza wikidane,
* Link: {{Span|klasa=inpwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inpwp}} - strona z parametrami i nagłówkiem istnieje poza wikidane,
* Link: {{Span|klasa=dwnip link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|dwnip}} - strona z parametrami wskazująca na daną wiki, która nie istnieje,
* Link: {{Span|klasa=sup link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sup}} - strona z parametrami z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=sunp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sunp}} - strona z parametrami i nagłówkiem, z adresem URL niewskazującą na projekty WIKI.
}}
----
Z szablonu {{s|Link wewnętrzny/styles.css}} (z kaskadowych arkuszy stylów) korzystają szablony: {{s|Link wewnętrzny}} (skrót: {{s|ly}}), {{s|LinkURL}} (skrót: {{s|lz}}), {{s|LinkOgólne}} (skrót: {{s|lo}}) (i z niego korzystające wedle ich definicji), {{s|LinkUstęp}} (skrót: {{s|lu}}) (i z niego korzystające wedle ich definicji), {{s|Sekcja referencyjna}} (skrót: {{s|sr}}) i szablony symbolizujące wikikod, zbudowanych przy pomocy linków wewnętrznych: {{s|S}} i {{s|M}}, a także: {{s|L}}, oraz szablony sekcji: {{s|Osobny artykuł}}, {{s|Zobacz głównie}}, {{s|Zobacz sekcję}}, {{s|Zobacz też}}, {{s|Główny artykuł}}, {{s|Kategoria główna}} i {{s|Zobacz kategorię}} - i inne, sformułowane w oparciu o nie.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie
{{Pre|{{s|Ly|s{{=}}|n{{=}}|z{{=}}|p{{=}}|g{{=}}|k{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie
{{Pre|{{s|Link wewnętrzny|strona{{=}}|nazwa{{=}}|za{{=}}|po{{=}}|nagłówek{{=}}|klucz projektu{{=}}}}}}
----
;Pełne skrótowe drugie wywołanie
{{Pre|{{s|Ly|s{{=}}|n{{=}}|z{{=}}|p{{=}}|g{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie
{{Pre|{{s|Link wewnętrzny|strona{{=}}|nazwa{{=}}|za{{=}}|po{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
; Szablon przyjmuje tylko parametry nazwane:
* {{Code|s}} lub {{Code|strona}} - pełna nazwa strony bez kodu projektu lub języka, do której ma linkować na tym samym projekcje lub innym,
* {{Code|n}} lub {{Code|nazwa}} - nazwa linku,
* {{Code|z}} lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|g}} lub {{Code|nagłówek}} - nagłówek rozdziału strony, do którego ma linkować,
* {{Code|k}} lub {{Code|klucz projektu}} - klucz projektu siostrzanego lub językowego, używany zamiast {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} lub {{Code|kod języka}} - kod języka projektu, używany zamiast {{Code|klucz projektu}},
* {{Code|kp}} lub {{Code|kod projektu}} - kod projektu, używany zamiast {{Code|klucz projektu}},
* {{Code|u}} lub {{Code|uri}} - jeśli niepuste, to traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} (skrót: {{Parametr|bz|tak}}) i {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykład ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{Pre start}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|n{{=}}Spis treści}} → {{ly|s=Pomoc:Spis treści|n=Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|n=Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|n{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści|n=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|n=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp}} → {{ly|s=Pomoc:Spis treści|g=Wstęp}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Pomoc:Spis treści#Wstęp}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści#Wstęp}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści#Wstęp}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Spis treści}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Szablony}} → {{ly|s=Kategoria:Szablony|n=Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Kategoria:Szablony}} → {{ly|s=Kategoria:Szablony|n=Kategoria:Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Kategoria:Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}w:Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=w:Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=w:Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}:Kategoria:Szablony}} → {{ly|s=Kategoria:Szablony|n=:Kategoria:Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=:Kategoria:Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}:w:Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=:w:Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=:w:Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}Category:Wikipedia templates|k{{=}}en:w}} → {{ly|s=Category:Wikipedia templates|n=Category:Wikipedia templates|k=en:w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=Category:Wikipedia templates|k=en:w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}en:w:Category:Wikipedia templates|k{{=}}w:en}} → {{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|k=w:en}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|k=w:en}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}en:w:Category:Wikipedia templates|kj{{=}}en|kp{{=}}w}} → {{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|kj=en|kp=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|kj=en|kp=w}}}}}}<!--
-->{{Pre koniec}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"strona": {
"description": "Pełna nazwa strony.",
"type": "wiki-page-name",
"required": true,
"aliases": [
"s"
]
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string",
"suggested": true,
"aliases": [
"g"
]
},
"nazwa": {
"description": "Nazwa linku.",
"type": "string",
"suggested": true,
"aliases": [
"n"
]
},
"klucz projektu": {
"description": "Klucz danego projektu siostrzanego lub językowego Wikibooksa, używany zamiast zmiennych \"kod języka\" i \"kod projektu\".",
"aliases": [
"k"
]
},
"kod języka": {
"description": "Kod języka projektu, do którego linkuje link, używany zamiast \"klucz projektu\".",
"aliases": [
"kj"
]
},
"kod projektu": {
"description": "Kod projektu, do którego linkuje link, używany zamiast \"klucz projektu\".",
"aliases": [
"kp"
]
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string",
"aliases": [
"z"
]
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string",
"aliases": [
"p"
]
}
},
"description": "Szablon do tworzenia linków, inteligentnych kolorujących w zależności do jakiej kategorii należą, wewnętrznych. Sprawdza, jeśli podano również nazwę linku, czy ona jest taka sama jak adres linku, a jeśli tak, to w definicji jego używa tylko adresu linku, a jeśli nie, to adresu linku i nazwy linku. Szablon nie używa parametru obsługujących nazwę przestrzeni nazw, w przeciwieństwie do {{LinkOgólne}} i {{LinkOgólne2}}, które używają to bezpośrednio, i jego pochodnych, używające pośrednio.",
"paramOrder": [
"strona",
"nagłówek",
"nazwa",
"za",
"po",
"klucz projektu",
"kod języka",
"kod projektu"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony linków wewnętrznych
| Szablony pomocne do tworzenia spisów treści, książek
}}
</includeonly>
a7oi6q5mknn5hzpsvj8y4mn3061elx7
558092
558090
2026-09-30T12:50:43Z
Persino
2851
/* Użycie */
558092
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|Link wewnętrzny={{Skrót szablonu|Ly}}|#defualt={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Sprawdza, jeśli podano również nazwę linku, czy ona jest taka sama jak adres linku, a jeśli tak, to w definicji jego używa tylko adresu linku, a jeśli nie, to adresu linku i nazwy linku. Szablon nie używa parametru obsługujących nazwę przestrzeni nazw, w przeciwieństwie do {{s|LinkOgólne}} (skrót: {{s|lo}}) i {{s|LinkOgólne2}} (skrót: {{s|lo2}}), które używają to bezpośrednio, i jego pochodnych, używające pośrednio.
=== Przykłady linków z zastosowanymi kolorami w kaskadowym arkuszu stylów: {{ls2|Link wewnętrzny/styles.css}} ===
{{Tabela nawigacyjna
| tytuł = Spis kodów i im odpowiadających kolorów, linków wewnętrznych i zewnętrznych, na przykładzie jednego przykładowego linku
| spis = <templatestyles src="Szablon:Link_wewnętrzny/styles.css" />
* Link: {{Span|klasa=iw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iw}} - strona istnieje na tej wiki,
* Link: {{Span|klasa=inw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inw}} - strona z nagłówkiem istnieje na tej wiki,
* Link: {{Span|klasa=niw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niw}} - strona nie istnieje na tej wiki,
* Link: {{Span|klasa=ninw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninw}} - strona z nagłówkiem nie istnieje na tej wiki,
* Link: {{Span|klasa=iwew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwew}} - strona istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=inwew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwew}} - strona z nagłówkiem istnieje na tej wiki, jako element wikidanych,
* Link: {{Span|klasa=iew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iew}} - strona istnieje jako element wikidanych,
* Link: {{Span|klasa=inew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inew}} - strona z nagłówkiem istnieje jako element wikidanych,
* Link: {{Span|klasa=niew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niew}} - strona nie istnieje jako element wikidanych,
* Link: {{Span|klasa=ninew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninew}} - strona z nagłówkiem nie istnieje jako element wikidanych,
* Link: {{Span|klasa=wash link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wash}} - strona z linkiem aktywnym wskazuje na aktualną stronę,
* Link: {{Span|klasa=was link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|was}} - strona z linkiem nieaktywnym wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasn link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasn}} - strona z nagłówkiem wskazuje na aktualną stronę,
* Link: {{Span|klasa=washew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washew}} - strona z linkiem aktywnym wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasew}} - strona z linkiem nieaktywnym wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasnew link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnew}} - strona z nagłówkiem wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=ipw link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ipw}} - strona istnieje poza wikidane,
* Link: {{Span|klasa=inwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwp}} - strona z nagłówkiem istnieje poza wikidane,
* Link: {{Span|klasa=dwni link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|dwni}} - strona wskazująca na daną wiki, która nie istnieje,
* Link: {{Span|klasa=su link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|su}} - strona z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=sun link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sun}} - strona z nagłówkiem z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=iwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwp}} - strona z parametrami istnieje na tej wiki,
* Link: {{Span|klasa=inwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwp}} - strona z parametrami i nagłówkiem istnieje na tej wiki,
* Link: {{Span|klasa=niwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niwp}} - strona z parametrami nie istnieje na tej wiki,
* Link: {{Span|klasa=ninwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninwp}} - strona z parametrami i nagłówkiem nie istnieje na tej wiki,
* Link: {{Span|klasa=iwewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iwewp}} - strona z parametrami istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=inwewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inwewp}} - strona z parametrami i nagłówkiem istnieje na tej wiki jako element wikidanych,
* Link: {{Span|klasa=iewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|iewp}} - strona z parametrami istnieje jako element wikidanych,
* Link: {{Span|klasa=inewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inewp}} - strona z parametrami i nagłówkiem istnieje jako element wikidanych,
* Link: {{Span|klasa=niewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|niewp}} - strona z parametrami nie istnieje jako element wikidanych,
* Link: {{Span|klasa=ninewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ninewp}} - strona z parametrami i nagłówkiem nie istnieje jako element wikidanych,
* Link: {{Span|klasa=washp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washp}} - strona, z linkiem aktywnym, z parametrami wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasp}} - strona, z linkiem nieaktywnym, z parametrami wskazuje na aktualną stronę,
* Link: {{Span|klasa=wasnp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnp}} - strona z parametrami i nagłówkiem wskazuje na aktualną stronę,
* Link: {{Span|klasa=washewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|washewp}} - strona, z linkiem aktywnym, z parametrami wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasewp}} - strona, z linkiem nieaktywnym, z parametrami wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=wasnewp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|wasnewp}} - strona z parametrami i nagłówkiem wskazuje na aktualną stronę jako element wikidanych,
* Link: {{Span|klasa=ipwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|ipwp}} - strona z parametrami istnieje poza wikidane,
* Link: {{Span|klasa=inpwp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|inpwp}} - strona z parametrami i nagłówkiem istnieje poza wikidane,
* Link: {{Span|klasa=dwnip link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|dwnip}} - strona z parametrami wskazująca na daną wiki, która nie istnieje,
* Link: {{Span|klasa=sup link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sup}} - strona z parametrami z adresem URL niewskazującą na projekty WIKI,
* Link: {{Span|klasa=sunp link|styl=font-weight:bold|[[Szablon:Link wewnętrzny/styles.css|Link z ustawionym kodem linków]]}} - kod koloru: {{Span|styl=color:blue|sunp}} - strona z parametrami i nagłówkiem, z adresem URL niewskazującą na projekty WIKI.
}}
----
Z szablonu {{s|Link wewnętrzny/styles.css}} (z kaskadowych arkuszy stylów) korzystają szablony: {{s|Link wewnętrzny}} (skrót: {{s|ly}}), {{s|LinkURL}} (skrót: {{s|lz}}), {{s|LinkOgólne}} (skrót: {{s|lo}}) (i z niego korzystające wedle ich definicji), {{s|LinkUstęp}} (skrót: {{s|lu}}) (i z niego korzystające wedle ich definicji), {{s|Sekcja referencyjna}} (skrót: {{s|sr}}) i szablony symbolizujące wikikod, zbudowanych przy pomocy linków wewnętrznych: {{s|S}} i {{s|M}}, a także: {{s|L}}, oraz szablony sekcji: {{s|Osobny artykuł}}, {{s|Zobacz głównie}}, {{s|Zobacz sekcję}}, {{s|Zobacz też}}, {{s|Główny artykuł}}, {{s|Kategoria główna}} i {{s|Zobacz kategorię}} - i inne, sformułowane w oparciu o nie.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie
{{Pre|{{s|Ly|s{{=}}|n{{=}}|z{{=}}|p{{=}}|g{{=}}|k{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie
{{Pre|{{s|Link wewnętrzny|strona{{=}}|nazwa{{=}}|za{{=}}|po{{=}}|nagłówek{{=}}|klucz projektu{{=}}}}}}
----
;Pełne skrótowe drugie wywołanie
{{Pre|{{s|Ly|s{{=}}|n{{=}}|z{{=}}|p{{=}}|g{{=}}|kj{{=}}|kp{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie
{{Pre|{{s|Link wewnętrzny|strona{{=}}|nazwa{{=}}|za{{=}}|po{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}}}}}
; Szablon przyjmuje tylko parametry nazwane:
* {{Code|s}} lub {{Code|strona}} - pełna nazwa strony bez kodu projektu lub języka, do której ma linkować na tym samym projekcje lub innym,
* {{Code|n}} lub {{Code|nazwa}} - nazwa linku,
* {{Code|z}} lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|g}} lub {{Code|nagłówek}} - nagłówek rozdziału strony, do którego ma linkować,
* {{Code|k}} lub {{Code|klucz projektu}} - klucz projektu siostrzanego lub językowego, używany zamiast {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} lub {{Code|kod języka}} - kod języka projektu, używany zamiast {{Code|klucz projektu}},
* {{Code|kp}} lub {{Code|kod projektu}} - kod projektu, używany zamiast {{Code|klucz projektu}},
* {{Code|u}} lub {{Code|uri}} - jeśli niepuste, to traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} (skrót: {{Parametr|bz|tak}}) i {{Parametr|bez przetwarzania|tak}} (skrót: {{Parametr|bp|tak}}), które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr {{Parametr|analiza|tak}} (skrót: {{Parametr|a|tak}}) do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykład ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
{{Pre start}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|n{{=}}Spis treści}} → {{ly|s=Pomoc:Spis treści|n=Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|n=Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|n{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści|n=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|n=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp}} → {{ly|s=Pomoc:Spis treści|g=Wstęp}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Pomoc:Spis treści#Wstęp}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści#Wstęp}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści#Wstęp}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Spis treści}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Pomoc:Spis treści|g{{=}}Wstęp|n{{=}}Pomoc:Spis treści}} → {{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Pomoc:Spis treści|g=Wstęp|n=Pomoc:Spis treści}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Szablony}} → {{ly|s=Kategoria:Szablony|n=Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Kategoria:Szablony}} → {{ly|s=Kategoria:Szablony|n=Kategoria:Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Kategoria:Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}w:Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=w:Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=w:Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}:Kategoria:Szablony}} → {{ly|s=Kategoria:Szablony|n=:Kategoria:Szablony}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=:Kategoria:Szablony}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Kategoria:Szablony|n{{=}}:w:Kategoria:Szablony|k{{=}}w}} → {{ly|s=Kategoria:Szablony|n=:w:Kategoria:Szablony|k=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Kategoria:Szablony|n=:w:Kategoria:Szablony|k=w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}Category:Wikipedia templates|k{{=}}en:w}} → {{ly|s=Category:Wikipedia templates|n=Category:Wikipedia templates|k=en:w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=Category:Wikipedia templates|k=en:w}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}en:w:Category:Wikipedia templates|k{{=}}w:en}} → {{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|k=w:en}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|k=w:en}}}}}}<!--
-->{{Hr}}<!--
-->{{s|ly|s{{=}}Category:Wikipedia templates|n{{=}}en:w:Category:Wikipedia templates|kj{{=}}en|kp{{=}}w}} → {{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|kj=en|kp=w}} → {{Nowiki|{{WydobądźLinki|{{ly|s=Category:Wikipedia templates|n=en:w:Category:Wikipedia templates|kj=en|kp=w}}}}}}<!--
-->{{Pre koniec}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"strona": {
"description": "Pełna nazwa strony.",
"type": "wiki-page-name",
"required": true,
"aliases": [
"s"
]
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string",
"suggested": true,
"aliases": [
"g"
]
},
"nazwa": {
"description": "Nazwa linku.",
"type": "string",
"suggested": true,
"aliases": [
"n"
]
},
"klucz projektu": {
"description": "Klucz danego projektu siostrzanego lub językowego Wikibooksa, używany zamiast zmiennych \"kod języka\" i \"kod projektu\".",
"aliases": [
"k"
]
},
"kod języka": {
"description": "Kod języka projektu, do którego linkuje link, używany zamiast \"klucz projektu\".",
"aliases": [
"kj"
]
},
"kod projektu": {
"description": "Kod projektu, do którego linkuje link, używany zamiast \"klucz projektu\".",
"aliases": [
"kp"
]
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string",
"aliases": [
"z"
]
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string",
"aliases": [
"p"
]
}
},
"description": "Szablon do tworzenia linków, inteligentnych kolorujących w zależności do jakiej kategorii należą, wewnętrznych. Sprawdza, jeśli podano również nazwę linku, czy ona jest taka sama jak adres linku, a jeśli tak, to w definicji jego używa tylko adresu linku, a jeśli nie, to adresu linku i nazwy linku. Szablon nie używa parametru obsługujących nazwę przestrzeni nazw, w przeciwieństwie do {{LinkOgólne}} i {{LinkOgólne2}}, które używają to bezpośrednio, i jego pochodnych, używające pośrednio.",
"paramOrder": [
"strona",
"nagłówek",
"nazwa",
"za",
"po",
"klucz projektu",
"kod języka",
"kod projektu"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony linków wewnętrznych
| Szablony pomocne do tworzenia spisów treści, książek
}}
</includeonly>
b16ptqyifsf0xb4rookk3e2ct7l8l35
Szablon:LinkURL/opis
10
56545
558097
553143
2026-09-30T12:55:50Z
Persino
2851
/* Opis szablonu */
558097
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Module:Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|LinkURL={{Skrót szablonu|Lz}}|#default={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów CSS, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkURL}} posiada wersję skróconą w postaci skrótu podanego w prawym górnym rogu strony w podwójnych nawiasach klamrowych.
== Użycie ==
Szablon wykorzystuje adres strony URL, protokolarny lub nie, albo adres linku wewnętrznego, i tworzy z niego link, niekoniecznie zewnętrzny, o podanej nazwie, lub nie, wyświetlanej przez szablon.
Szablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego {{NAZWASERWISU|link=w}}, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.
W przypadku projektów {{NAZWASERWISU|klucz projektu=mw|link=tak}}, gdy podano parametr z wartością {{Parametr|w|w}} lub {{Parametr|w|wiki}}, to szablon generuje link zewnętrzny kolejno w postaci {{Code|../w/..}}, i {{Code|../wiki/..}}.
== Skrót do szablonu ==
Skrót do szablonu {{s|LinkURL}} jest {{s|lz}}.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|g{{=}}|b{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nagłówek{{=}}|bieżąca{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|k{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|klucz projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
;Pełne skrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|kj{{=}}|kp{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
;Pełne nieskrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Parametry, strona URL może wskazywać na jakąś wiki lub być zewnętrznym adresem do zupełnie innej wiki lub jakieś innej strony nienależącej do żadnego wiki
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} lub {{Code|miano przestrzeni nazw}} - nazwa przestrzeni nazw, do której należy strona
* {{Code|s}} (przestarzałe) lub {{Code|strona}} - nazwa strony, z przestrzenią nazw, kodami języka lub projektu albo nie lub nazwą strony zaczynający się od {{Code|/wiki/}} lub {{Code|/w/}}, albo jest URL (z nazwą protokołu lub nie) strony, a na projektach MediaWiki z nazwą strony z tymi pierwszymi opcjami (nazwy przestrzeni i kody), co tutaj są wymienione.
* {{Code|c}} (przestarzałe) lub {{Code|parametry}} - parametry strony,
* {{Code|g}} (przestarzałe) lub {{Code|nagłówek}} - nagłówek strony następujący po znaku: {{Code|#}},
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - klucz projektu, używany zamiast zmiennych: {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|w}} (przestarzałe) lub {{Code|wersja linku}} - generuje link zewnętrzny, gdy: {{Parametr|wersja linku|w}}, w postaci: {{Code|../w/..}}, zamiast: {{Code|../wiki/..}} dla {{Parametr|wersja linku|wiki}}, a gdy {{Parametr|wersja linku}}, to generuje normalny link wewnętrzny, jeżeli nie ma on parametrów i nie jest URL,
* {{Code|n}} (przestarzałe) lub {{Code|nazwa}} - nazwa wyświetlana linku,
* {{Code|b) (przestarzałe) lub {{Code|bieżąca}} - czy ma powtarzać nazwę nagłówka w nazwie linku, gdy nazwa linku jest niepodana,
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu {{s|LinkURL}}, a nie są, gdy używamy przekierowania do tego szablonu w postaci {{s|Lz}}.
----
----
Jeżeli parametr {{Code|strona}} jest adresem URL, to należy ewentualnie go używać jedynie z argumentem {{Code|nazwa}}.
W przypadku linków zewnętrznych nazwa linku jest tworzona automatycznie na podstawie parametru {{Code|strona}}, gdy nie podano zmiennej {{Code|nazwa}}. Jeżeli ona jest pusta, to link wyświetla automatyczny numerek, tak jak przy zwykłych tych linkach. A dla linku wewnętrznego, parametr {{Code|nazwa}}, czy jest pusty, czy nie podany, to i tak wyświetla się nazwa linku (bez numerka).
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} i {{Parametr|bez przetwarzania|tak}}, które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr: {{Parametr|analiza|tak}} ({{Parametr|a}}), do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna}} → Wynik: {{lz|s=Fizyka teoretyczna}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html#8.3|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html#8.3</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń"
],
"description": "Przestrzeń nazw, do której ma zaliczyć stronę.",
"type": "string",
"suggested": true
},
"strona": {
"description": "Nazwa strony, bez przestrzeni nazw. Jeżeli parametr \"strona\" jest adresem URL, to należy ewentualnie go używać jedynie z argumentem \"nazwa\". ",
"type": "wiki-page-name",
"required": true
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string"
},
"klucz projektu": {
"description": "Klucz projektu, używany zamiast: \"kod języka\" i \"kod projektu\"."
},
"kod języka": {
"description": "Kod języka, używany zamiast \"Klucz projektu\"."
},
"kod projektu": {
"description": "Kod projektu, używany zamiast \"klucz projektu\"."
},
"nazwa": {
"description": "Nazwa wyświetlana linku.",
"type": "string",
"suggested": true
},
"parametry": {
"description": "Parametry strony.",
"type": "line",
"suggested": true
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
}
},
"description": "Szablon tworzy adres strony URL i tworzy z niego link o podanej nazwie wyświetlanej przez szablon. Też można bezpośrednio wsadzić do tego sam adres URL, nie za pomocą jego elementów. Jest to szablon linków inteligentnych kolorujących linki w zależności do jakiej kategorii one należą, do tego celu używa Wikidane.\n\nSzablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego Wikibooks, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.\n\nW przypadku projektów MediaWiki, gdy podano parametr z wartością | wersja linku = w lub | wersja linku = wiki, to szablon generuje link zewnętrzny kolejno w postaci ../w/.., i ../wiki/... ",
"paramOrder": [
"miano przestrzeni nazw",
"strona",
"parametry",
"nagłówek",
"klucz projektu",
"kod języka",
"kod projektu",
"nazwa",
"za",
"po"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Linki z opcją do zewnętrznych serwisów}}
</includeonly>
hrkcta6s47dih3jpeykkizq4ipyqscu
558098
558097
2026-09-30T12:56:29Z
Persino
2851
/* Opis szablonu */
558098
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Module:Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|LinkURL={{Skrót szablonu|Lz}}|#default={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkURL}} posiada wersję skróconą w postaci skrótu podanego w prawym górnym rogu strony w podwójnych nawiasach klamrowych.
== Użycie ==
Szablon wykorzystuje adres strony URL, protokolarny lub nie, albo adres linku wewnętrznego, i tworzy z niego link, niekoniecznie zewnętrzny, o podanej nazwie, lub nie, wyświetlanej przez szablon.
Szablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego {{NAZWASERWISU|link=w}}, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.
W przypadku projektów {{NAZWASERWISU|klucz projektu=mw|link=tak}}, gdy podano parametr z wartością {{Parametr|w|w}} lub {{Parametr|w|wiki}}, to szablon generuje link zewnętrzny kolejno w postaci {{Code|../w/..}}, i {{Code|../wiki/..}}.
== Skrót do szablonu ==
Skrót do szablonu {{s|LinkURL}} jest {{s|lz}}.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|g{{=}}|b{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nagłówek{{=}}|bieżąca{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|k{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|klucz projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
;Pełne skrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|kj{{=}}|kp{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
;Pełne nieskrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Parametry, strona URL może wskazywać na jakąś wiki lub być zewnętrznym adresem do zupełnie innej wiki lub jakieś innej strony nienależącej do żadnego wiki
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} lub {{Code|miano przestrzeni nazw}} - nazwa przestrzeni nazw, do której należy strona
* {{Code|s}} (przestarzałe) lub {{Code|strona}} - nazwa strony, z przestrzenią nazw, kodami języka lub projektu albo nie lub nazwą strony zaczynający się od {{Code|/wiki/}} lub {{Code|/w/}}, albo jest URL (z nazwą protokołu lub nie) strony, a na projektach MediaWiki z nazwą strony z tymi pierwszymi opcjami (nazwy przestrzeni i kody), co tutaj są wymienione.
* {{Code|c}} (przestarzałe) lub {{Code|parametry}} - parametry strony,
* {{Code|g}} (przestarzałe) lub {{Code|nagłówek}} - nagłówek strony następujący po znaku: {{Code|#}},
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - klucz projektu, używany zamiast zmiennych: {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|w}} (przestarzałe) lub {{Code|wersja linku}} - generuje link zewnętrzny, gdy: {{Parametr|wersja linku|w}}, w postaci: {{Code|../w/..}}, zamiast: {{Code|../wiki/..}} dla {{Parametr|wersja linku|wiki}}, a gdy {{Parametr|wersja linku}}, to generuje normalny link wewnętrzny, jeżeli nie ma on parametrów i nie jest URL,
* {{Code|n}} (przestarzałe) lub {{Code|nazwa}} - nazwa wyświetlana linku,
* {{Code|b) (przestarzałe) lub {{Code|bieżąca}} - czy ma powtarzać nazwę nagłówka w nazwie linku, gdy nazwa linku jest niepodana,
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu {{s|LinkURL}}, a nie są, gdy używamy przekierowania do tego szablonu w postaci {{s|Lz}}.
----
----
Jeżeli parametr {{Code|strona}} jest adresem URL, to należy ewentualnie go używać jedynie z argumentem {{Code|nazwa}}.
W przypadku linków zewnętrznych nazwa linku jest tworzona automatycznie na podstawie parametru {{Code|strona}}, gdy nie podano zmiennej {{Code|nazwa}}. Jeżeli ona jest pusta, to link wyświetla automatyczny numerek, tak jak przy zwykłych tych linkach. A dla linku wewnętrznego, parametr {{Code|nazwa}}, czy jest pusty, czy nie podany, to i tak wyświetla się nazwa linku (bez numerka).
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} i {{Parametr|bez przetwarzania|tak}}, które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr: {{Parametr|analiza|tak}} ({{Parametr|a}}), do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna}} → Wynik: {{lz|s=Fizyka teoretyczna}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html#8.3|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html#8.3</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń"
],
"description": "Przestrzeń nazw, do której ma zaliczyć stronę.",
"type": "string",
"suggested": true
},
"strona": {
"description": "Nazwa strony, bez przestrzeni nazw. Jeżeli parametr \"strona\" jest adresem URL, to należy ewentualnie go używać jedynie z argumentem \"nazwa\". ",
"type": "wiki-page-name",
"required": true
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string"
},
"klucz projektu": {
"description": "Klucz projektu, używany zamiast: \"kod języka\" i \"kod projektu\"."
},
"kod języka": {
"description": "Kod języka, używany zamiast \"Klucz projektu\"."
},
"kod projektu": {
"description": "Kod projektu, używany zamiast \"klucz projektu\"."
},
"nazwa": {
"description": "Nazwa wyświetlana linku.",
"type": "string",
"suggested": true
},
"parametry": {
"description": "Parametry strony.",
"type": "line",
"suggested": true
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
}
},
"description": "Szablon tworzy adres strony URL i tworzy z niego link o podanej nazwie wyświetlanej przez szablon. Też można bezpośrednio wsadzić do tego sam adres URL, nie za pomocą jego elementów. Jest to szablon linków inteligentnych kolorujących linki w zależności do jakiej kategorii one należą, do tego celu używa Wikidane.\n\nSzablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego Wikibooks, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.\n\nW przypadku projektów MediaWiki, gdy podano parametr z wartością | wersja linku = w lub | wersja linku = wiki, to szablon generuje link zewnętrzny kolejno w postaci ../w/.., i ../wiki/... ",
"paramOrder": [
"miano przestrzeni nazw",
"strona",
"parametry",
"nagłówek",
"klucz projektu",
"kod języka",
"kod projektu",
"nazwa",
"za",
"po"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Linki z opcją do zewnętrznych serwisów}}
</includeonly>
slo1l5avv06j2ven9n2rz0y5ppkxt73
558099
558098
2026-09-30T12:58:46Z
Persino
2851
/* Użycie */
558099
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Module:Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|LinkURL={{Skrót szablonu|Lz}}|#default={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkURL}} posiada wersję skróconą w postaci skrótu podanego w prawym górnym rogu strony w podwójnych nawiasach klamrowych.
== Użycie ==
Szablon wykorzystuje adres strony URL, protokolarny lub nie, albo adres linku wewnętrznego, i tworzy z niego link, niekoniecznie zewnętrzny, o podanej nazwie, lub nie, wyświetlanej przez szablon.
Szablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego {{NAZWASERWISU|link=w}}, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.
W przypadku projektów {{NAZWASERWISU|klucz projektu=mw|link=tak}}, gdy podano parametr z wartością: {{Parametr|wersja linku|w}} (skrót: {{Parametr|w|w}}), lub {{Parametr|wersja linku|wiki}} (skrót: {{Parametr|w|wiki}}), to szablon generuje link zewnętrzny kolejno w postaci {{Code|../w/..}}, i {{Code|../wiki/..}}.
== Skrót do szablonu ==
Skrót do szablonu {{s|LinkURL}} jest {{s|lz}}.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|g{{=}}|b{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nagłówek{{=}}|bieżąca{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|k{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|klucz projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
;Pełne skrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|kj{{=}}|kp{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
;Pełne nieskrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Parametry, strona URL może wskazywać na jakąś wiki lub być zewnętrznym adresem do zupełnie innej wiki lub jakieś innej strony nienależącej do żadnego wiki
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} lub {{Code|miano przestrzeni nazw}} - nazwa przestrzeni nazw, do której należy strona
* {{Code|s}} (przestarzałe) lub {{Code|strona}} - nazwa strony, z przestrzenią nazw, kodami języka lub projektu albo nie lub nazwą strony zaczynający się od {{Code|/wiki/}} lub {{Code|/w/}}, albo jest URL (z nazwą protokołu lub nie) strony, a na projektach MediaWiki z nazwą strony z tymi pierwszymi opcjami (nazwy przestrzeni i kody), co tutaj są wymienione.
* {{Code|c}} (przestarzałe) lub {{Code|parametry}} - parametry strony,
* {{Code|g}} (przestarzałe) lub {{Code|nagłówek}} - nagłówek strony następujący po znaku: {{Code|#}},
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - klucz projektu, używany zamiast zmiennych: {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|w}} (przestarzałe) lub {{Code|wersja linku}} - generuje link zewnętrzny, gdy: {{Parametr|wersja linku|w}}, w postaci: {{Code|../w/..}}, zamiast: {{Code|../wiki/..}} dla {{Parametr|wersja linku|wiki}}, a gdy {{Parametr|wersja linku}}, to generuje normalny link wewnętrzny, jeżeli nie ma on parametrów i nie jest URL,
* {{Code|n}} (przestarzałe) lub {{Code|nazwa}} - nazwa wyświetlana linku,
* {{Code|b) (przestarzałe) lub {{Code|bieżąca}} - czy ma powtarzać nazwę nagłówka w nazwie linku, gdy nazwa linku jest niepodana,
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu {{s|LinkURL}}, a nie są, gdy używamy przekierowania do tego szablonu w postaci {{s|Lz}}.
----
----
Jeżeli parametr {{Code|strona}} jest adresem URL, to należy ewentualnie go używać jedynie z argumentem {{Code|nazwa}}.
W przypadku linków zewnętrznych nazwa linku jest tworzona automatycznie na podstawie parametru {{Code|strona}}, gdy nie podano zmiennej {{Code|nazwa}}. Jeżeli ona jest pusta, to link wyświetla automatyczny numerek, tak jak przy zwykłych tych linkach. A dla linku wewnętrznego, parametr {{Code|nazwa}}, czy jest pusty, czy nie podany, to i tak wyświetla się nazwa linku (bez numerka).
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} i {{Parametr|bez przetwarzania|tak}}, które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr: {{Parametr|analiza|tak}} ({{Parametr|a}}), do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna}} → Wynik: {{lz|s=Fizyka teoretyczna}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html#8.3|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html#8.3</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń"
],
"description": "Przestrzeń nazw, do której ma zaliczyć stronę.",
"type": "string",
"suggested": true
},
"strona": {
"description": "Nazwa strony, bez przestrzeni nazw. Jeżeli parametr \"strona\" jest adresem URL, to należy ewentualnie go używać jedynie z argumentem \"nazwa\". ",
"type": "wiki-page-name",
"required": true
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string"
},
"klucz projektu": {
"description": "Klucz projektu, używany zamiast: \"kod języka\" i \"kod projektu\"."
},
"kod języka": {
"description": "Kod języka, używany zamiast \"Klucz projektu\"."
},
"kod projektu": {
"description": "Kod projektu, używany zamiast \"klucz projektu\"."
},
"nazwa": {
"description": "Nazwa wyświetlana linku.",
"type": "string",
"suggested": true
},
"parametry": {
"description": "Parametry strony.",
"type": "line",
"suggested": true
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
}
},
"description": "Szablon tworzy adres strony URL i tworzy z niego link o podanej nazwie wyświetlanej przez szablon. Też można bezpośrednio wsadzić do tego sam adres URL, nie za pomocą jego elementów. Jest to szablon linków inteligentnych kolorujących linki w zależności do jakiej kategorii one należą, do tego celu używa Wikidane.\n\nSzablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego Wikibooks, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.\n\nW przypadku projektów MediaWiki, gdy podano parametr z wartością | wersja linku = w lub | wersja linku = wiki, to szablon generuje link zewnętrzny kolejno w postaci ../w/.., i ../wiki/... ",
"paramOrder": [
"miano przestrzeni nazw",
"strona",
"parametry",
"nagłówek",
"klucz projektu",
"kod języka",
"kod projektu",
"nazwa",
"za",
"po"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Linki z opcją do zewnętrznych serwisów}}
</includeonly>
e1t8zgbkv0zqcln1nwnah5q5s36r3u3
558100
558099
2026-09-30T13:00:04Z
Persino
2851
/* Użycie */
558100
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Module:Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|LinkURL={{Skrót szablonu|Lz}}|#default={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkURL}} posiada wersję skróconą w postaci skrótu podanego w prawym górnym rogu strony w podwójnych nawiasach klamrowych.
== Użycie ==
Szablon wykorzystuje adres strony URL, protokolarny lub nie, albo adres linku wewnętrznego, i tworzy z niego link, niekoniecznie zewnętrzny, o podanej nazwie, lub nie, wyświetlanej przez szablon.
Szablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego {{NS|link=w}}, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.
W przypadku projektów {{NAZWASERWISU|klucz projektu=mw|link=tak}}, gdy podano parametr z wartością: {{Parametr|wersja linku|w}} (skrót: {{Parametr|w|w}}), lub {{Parametr|wersja linku|wiki}} (skrót: {{Parametr|w|wiki}}), to szablon generuje link zewnętrzny kolejno w postaci {{Code|../w/..}}, i {{Code|../wiki/..}}.
== Skrót do szablonu ==
Skrót do szablonu {{s|LinkURL}} jest {{s|lz}}.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|g{{=}}|b{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nagłówek{{=}}|bieżąca{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|k{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|klucz projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
;Pełne skrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|kj{{=}}|kp{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
;Pełne nieskrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Parametry, strona URL może wskazywać na jakąś wiki lub być zewnętrznym adresem do zupełnie innej wiki lub jakieś innej strony nienależącej do żadnego wiki
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} lub {{Code|miano przestrzeni nazw}} - nazwa przestrzeni nazw, do której należy strona
* {{Code|s}} (przestarzałe) lub {{Code|strona}} - nazwa strony, z przestrzenią nazw, kodami języka lub projektu albo nie lub nazwą strony zaczynający się od {{Code|/wiki/}} lub {{Code|/w/}}, albo jest URL (z nazwą protokołu lub nie) strony, a na projektach MediaWiki z nazwą strony z tymi pierwszymi opcjami (nazwy przestrzeni i kody), co tutaj są wymienione.
* {{Code|c}} (przestarzałe) lub {{Code|parametry}} - parametry strony,
* {{Code|g}} (przestarzałe) lub {{Code|nagłówek}} - nagłówek strony następujący po znaku: {{Code|#}},
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - klucz projektu, używany zamiast zmiennych: {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|w}} (przestarzałe) lub {{Code|wersja linku}} - generuje link zewnętrzny, gdy: {{Parametr|wersja linku|w}}, w postaci: {{Code|../w/..}}, zamiast: {{Code|../wiki/..}} dla {{Parametr|wersja linku|wiki}}, a gdy {{Parametr|wersja linku}}, to generuje normalny link wewnętrzny, jeżeli nie ma on parametrów i nie jest URL,
* {{Code|n}} (przestarzałe) lub {{Code|nazwa}} - nazwa wyświetlana linku,
* {{Code|b) (przestarzałe) lub {{Code|bieżąca}} - czy ma powtarzać nazwę nagłówka w nazwie linku, gdy nazwa linku jest niepodana,
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu {{s|LinkURL}}, a nie są, gdy używamy przekierowania do tego szablonu w postaci {{s|Lz}}.
----
----
Jeżeli parametr {{Code|strona}} jest adresem URL, to należy ewentualnie go używać jedynie z argumentem {{Code|nazwa}}.
W przypadku linków zewnętrznych nazwa linku jest tworzona automatycznie na podstawie parametru {{Code|strona}}, gdy nie podano zmiennej {{Code|nazwa}}. Jeżeli ona jest pusta, to link wyświetla automatyczny numerek, tak jak przy zwykłych tych linkach. A dla linku wewnętrznego, parametr {{Code|nazwa}}, czy jest pusty, czy nie podany, to i tak wyświetla się nazwa linku (bez numerka).
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} i {{Parametr|bez przetwarzania|tak}}, które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr: {{Parametr|analiza|tak}} ({{Parametr|a}}), do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna}} → Wynik: {{lz|s=Fizyka teoretyczna}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html#8.3|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html#8.3</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń"
],
"description": "Przestrzeń nazw, do której ma zaliczyć stronę.",
"type": "string",
"suggested": true
},
"strona": {
"description": "Nazwa strony, bez przestrzeni nazw. Jeżeli parametr \"strona\" jest adresem URL, to należy ewentualnie go używać jedynie z argumentem \"nazwa\". ",
"type": "wiki-page-name",
"required": true
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string"
},
"klucz projektu": {
"description": "Klucz projektu, używany zamiast: \"kod języka\" i \"kod projektu\"."
},
"kod języka": {
"description": "Kod języka, używany zamiast \"Klucz projektu\"."
},
"kod projektu": {
"description": "Kod projektu, używany zamiast \"klucz projektu\"."
},
"nazwa": {
"description": "Nazwa wyświetlana linku.",
"type": "string",
"suggested": true
},
"parametry": {
"description": "Parametry strony.",
"type": "line",
"suggested": true
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
}
},
"description": "Szablon tworzy adres strony URL i tworzy z niego link o podanej nazwie wyświetlanej przez szablon. Też można bezpośrednio wsadzić do tego sam adres URL, nie za pomocą jego elementów. Jest to szablon linków inteligentnych kolorujących linki w zależności do jakiej kategorii one należą, do tego celu używa Wikidane.\n\nSzablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego Wikibooks, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.\n\nW przypadku projektów MediaWiki, gdy podano parametr z wartością | wersja linku = w lub | wersja linku = wiki, to szablon generuje link zewnętrzny kolejno w postaci ../w/.., i ../wiki/... ",
"paramOrder": [
"miano przestrzeni nazw",
"strona",
"parametry",
"nagłówek",
"klucz projektu",
"kod języka",
"kod projektu",
"nazwa",
"za",
"po"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Linki z opcją do zewnętrznych serwisów}}
</includeonly>
0ljxtmtlxic0sgj02y8hqrsoanxs9a6
558101
558100
2026-09-30T13:01:29Z
Persino
2851
/* Użycie */
558101
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Module:Linki}}
{{Skomplikowany}}
{{#switch:{{ROOTPAGENAME}}|LinkURL={{Skrót szablonu|Lz}}|#default={{DivLinia}}}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Opis szablonu ==
Jest to specjalistyczny szablon linków inteligentnych (tzw. linki inteligentne), a link do jego stylów mieści się w szablonie kodów linków inteligentnych z kodami na stronie: {{s|Link wewnętrzny|z przestrzenią=tak}}, który się znajduje pod tabelą wywołania szablonowego: {{s|Tabela nawigacyjna}}, a w jego parametrze, tam są też linkujące do tej samej strony, czyli do szablonu kaskadowych arkuszy stylów {{lpg|CSS}}, które są od nadawania barwy linkom, mające kolory odpowiednie dla nich, a właściwe wartości kodów znajdują się w znaczniku szablonowym {{s|Span}} obok tych odpowiednich elementów. Szablon koloruje linki w zależności do jakiej kategorii on należy, wskazanych przez te kody, a do tego celu używa {{NS|k=d|l=tak|pk=d}}.
Szablon {{s|LinkURL}} posiada wersję skróconą w postaci skrótu podanego w prawym górnym rogu strony w podwójnych nawiasach klamrowych.
== Użycie ==
Szablon wykorzystuje adres strony URL, protokolarny lub nie, albo adres linku wewnętrznego, i tworzy z niego link, niekoniecznie zewnętrzny, o podanej nazwie, lub nie, wyświetlanej przez szablon.
Szablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego {{NS|link=w}}, bez parametrów, a link zewnętrzny, gdy są parametry, lub '''{{lpg|URL}}'''.
W przypadku projektów {{NS|k=mw|l=tak}}, gdy podano parametr z wartością: {{Parametr|wersja linku|w}} (skrót: {{Parametr|w|w}}), lub {{Parametr|wersja linku|wiki}} (skrót: {{Parametr|w|wiki}}), to szablon generuje link zewnętrzny kolejno w postaci {{Code|../w/..}}, i {{Code|../wiki/..}}.
== Skrót do szablonu ==
Skrót do szablonu {{s|LinkURL}} jest {{s|lz}}.
== Opis parametrów ==
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|g{{=}}|b{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nagłówek{{=}}|bieżąca{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|lz|s{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe pierwsze wywołanie w przypadku podania strony URL
{{Pre|{{s|LinkURL|strona{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Pełne skrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|k{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
; Pełne nieskrótowe drugie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|klucz projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
;Pełne skrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|lz|f{{=}}|s{{=}}|c{{=}}|g{{=}}|kj{{=}}|kp{{=}}|w{{=}}|n{{=}}|z{{=}}|p{{=}}}}}}
;Pełne nieskrótowe trzecie wywołanie, gdy strona nie jest adresem URL
{{Pre|{{s|LinkURL|{{!(}}miano przestrzeni nazw{{!}}przestrzeń{{)!}}{{=}}|strona{{=}}|parametry{{=}}|nagłówek{{=}}|kod języka{{=}}|kod projektu{{=}}|wersja linku{{=}}|nazwa{{=}}|za{{=}}|po{{=}}}}}}
----
; Parametry, strona URL może wskazywać na jakąś wiki lub być zewnętrznym adresem do zupełnie innej wiki lub jakieś innej strony nienależącej do żadnego wiki
* {{Code|f}} (przestarzałe), {{Code|przestrzeń}} lub {{Code|miano przestrzeni nazw}} - nazwa przestrzeni nazw, do której należy strona
* {{Code|s}} (przestarzałe) lub {{Code|strona}} - nazwa strony, z przestrzenią nazw, kodami języka lub projektu albo nie lub nazwą strony zaczynający się od {{Code|/wiki/}} lub {{Code|/w/}}, albo jest URL (z nazwą protokołu lub nie) strony, a na projektach MediaWiki z nazwą strony z tymi pierwszymi opcjami (nazwy przestrzeni i kody), co tutaj są wymienione.
* {{Code|c}} (przestarzałe) lub {{Code|parametry}} - parametry strony,
* {{Code|g}} (przestarzałe) lub {{Code|nagłówek}} - nagłówek strony następujący po znaku: {{Code|#}},
* {{Code|k}} (przestarzałe) lub {{Code|klucz projektu}} - klucz projektu, używany zamiast zmiennych: {{Code|kod języka}} i {{Code|kod projektu}},
* {{Code|kj}} (przestarzałe) lub {{Code|kod języka}} - kod języka, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|kp}} (przestarzałe) lub {{Code|kod projektu}} - kod projektu, używany zamiast zmiennej {{Code|klucz projektu}},
* {{Code|w}} (przestarzałe) lub {{Code|wersja linku}} - generuje link zewnętrzny, gdy: {{Parametr|wersja linku|w}}, w postaci: {{Code|../w/..}}, zamiast: {{Code|../wiki/..}} dla {{Parametr|wersja linku|wiki}}, a gdy {{Parametr|wersja linku}}, to generuje normalny link wewnętrzny, jeżeli nie ma on parametrów i nie jest URL,
* {{Code|n}} (przestarzałe) lub {{Code|nazwa}} - nazwa wyświetlana linku,
* {{Code|b) (przestarzałe) lub {{Code|bieżąca}} - czy ma powtarzać nazwę nagłówka w nazwie linku, gdy nazwa linku jest niepodana,
* {{Code|z}} (przestarzałe) lub {{Code|za}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku,
* {{Code|p}} (przestarzałe) lub {{Code|po}} - dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku,
* {{Code|u}} (pzestarzałe) lub {{Code|uri}} - jeśli niepuste, wtedy traktuj adres w linku wewnętrznym, jako adres URL, czyli on jest tak kodowany.
----
Parametry w wersji skróconej są jedynie przestarzałe dla nazwy wersji pełnej szablonu {{s|LinkURL}}, a nie są, gdy używamy przekierowania do tego szablonu w postaci {{s|Lz}}.
----
----
Jeżeli parametr {{Code|strona}} jest adresem URL, to należy ewentualnie go używać jedynie z argumentem {{Code|nazwa}}.
W przypadku linków zewnętrznych nazwa linku jest tworzona automatycznie na podstawie parametru {{Code|strona}}, gdy nie podano zmiennej {{Code|nazwa}}. Jeżeli ona jest pusta, to link wyświetla automatyczny numerek, tak jak przy zwykłych tych linkach. A dla linku wewnętrznego, parametr {{Code|nazwa}}, czy jest pusty, czy nie podany, to i tak wyświetla się nazwa linku (bez numerka).
----
Szablon posiada też parametry: {{Parametr|bez znaczników|tak}} i {{Parametr|bez przetwarzania|tak}}, które kolejno znaczą, że bez obramowania znacznikowego {{Code|span}} kolorujące link, i bez głębszego, na siłę, przetwarzania linkowego, a także parametr: {{Parametr|analiza|tak}} ({{Parametr|a}}), do głębszego przetwarzania linkowego, ważniejszym od tego jest wcześniejszy ostatni parametr.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać.{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna}} → Wynik: {{lz|s=Fizyka teoretyczna}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}w|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=w|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}w|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=w|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}Fizyka teoretyczna|w{{=}}wiki|w{{=}}wiki|n{{=}}Dział fizyki}} → Wynik: {{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=Fizyka teoretyczna|w=wiki|n=Dział fizyki}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/wiki/Szablon:Link wewnętrzny?action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/wiki/Szablon:Link wewnętrzny?action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}/w/index.php?title{{=}}Szablon:Link wewnętrzny&action{{=}}edit#Obsługa|w{{=}}wiki|n{{=}}Szablon Link wewnętrzny}} → Wynik: {{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=/w/index.php?title=Szablon:Link wewnętrzny&action=edit#Obsługa|w=wiki|n=Szablon Link wewnętrzny}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|klucz projektu{{=}}en:w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|klucz projektu=en:w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|miano przestrzeni nazw{{=}}Project|s{{=}}FAQ/Readers|c{{=}}action{{=}}edit|g{{=}}What is Wikipedia?|kj{{=}}en|kp{{=}}w|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|miano przestrzeni nazw=Project|s=FAQ/Readers|c=action=edit|g=What is Wikipedia?|kj=en|kp=w|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action{{=}}edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/wiki/Wikipedia:FAQ/Readers?action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers |n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action{{=}}edit|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
* Wikikod: {{s|lz|s{{=}}//en.wikipedia.org/w/index.php?title{{=}}Wikipedia:FAQ/Readers&action{{=}}edit#What_is_Wikipedia?|n{{=}}Pomoc dla użytkowników angielskiej Wikipedii}} → Wynik: {{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//en.wikipedia.org/w/index.php?title=Wikipedia:FAQ/Readers&action=edit#What_is_Wikipedia?|n=Pomoc dla użytkowników angielskiej Wikipedii}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n{{=}}Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/wiki/Archaea?action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/wiki/Archaea?action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}//species.wikimedia.org/w/index.php?title{{=}}Archaea&action{{=}}edit#Taksonawigacja|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}//lua.org.pl/5.2/manual.html#8.3|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=//lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html|n=Język Lua 5.2}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://lua.org.pl/5.2/manual.html#8.3</nowiki>|n{{=}}Język Lua 5.2}} → Wynik: {{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://lua.org.pl/5.2/manual.html#8.3|n=Język Lua 5.2}}}}}}
{{Hr}}{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
{{Hr}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit|n=Gatunek bakterii Archaea}}}}}}
* Wikikod: {{s|lz|s{{=}}<nowiki>http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja</nowiki>|n{{=}}Gatunek bakterii Archaea}} → Wynik: {{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}} → Kod: {{Nowiki|{{WydobądźLinki|{{lz|s=http://species.wikimedia.org/w/index.php?title=Archaea&action=edit#Taksonawigacja|n=Gatunek bakterii Archaea}}}}}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"miano przestrzeni nazw": {
"aliases": [
"przestrzeń"
],
"description": "Przestrzeń nazw, do której ma zaliczyć stronę.",
"type": "string",
"suggested": true
},
"strona": {
"description": "Nazwa strony, bez przestrzeni nazw. Jeżeli parametr \"strona\" jest adresem URL, to należy ewentualnie go używać jedynie z argumentem \"nazwa\". ",
"type": "wiki-page-name",
"required": true
},
"nagłówek": {
"description": "Nagłówek strony.",
"type": "string"
},
"klucz projektu": {
"description": "Klucz projektu, używany zamiast: \"kod języka\" i \"kod projektu\"."
},
"kod języka": {
"description": "Kod języka, używany zamiast \"Klucz projektu\"."
},
"kod projektu": {
"description": "Kod projektu, używany zamiast \"klucz projektu\"."
},
"nazwa": {
"description": "Nazwa wyświetlana linku.",
"type": "string",
"suggested": true
},
"parametry": {
"description": "Parametry strony.",
"type": "line",
"suggested": true
},
"za": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po nazwie linku.",
"type": "string"
},
"po": {
"description": "Dokończenie nazwy linku, poprzez umieszczenie tego napisu bezpośrednio po linku.",
"type": "string"
}
},
"description": "Szablon tworzy adres strony URL i tworzy z niego link o podanej nazwie wyświetlanej przez szablon. Też można bezpośrednio wsadzić do tego sam adres URL, nie za pomocą jego elementów. Jest to szablon linków inteligentnych kolorujących linki w zależności do jakiej kategorii one należą, do tego celu używa Wikidane.\n\nSzablon tworzy link wewnętrzny, gdy podano adres projektu siostrzanego lub językowego Wikibooks, bez parametrów, a link zewnętrzny, gdy są parametry, lub URL.\n\nW przypadku projektów MediaWiki, gdy podano parametr z wartością | wersja linku = w lub | wersja linku = wiki, to szablon generuje link zewnętrzny kolejno w postaci ../w/.., i ../wiki/... ",
"paramOrder": [
"miano przestrzeni nazw",
"strona",
"parametry",
"nagłówek",
"klucz projektu",
"kod języka",
"kod projektu",
"nazwa",
"za",
"po"
]
}
</templatedata>
== Zobacz też ==
{{Link wewnętrzny/opis/Zobacz też}}
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Linki z opcją do zewnętrznych serwisów}}
</includeonly>
1ae4nxjq8hbzasl2g20xjr449i3icv4
Moduł:Rozmieniarka/opis
828
60081
558128
539874
2026-09-30T18:54:29Z
Persino
2851
558128
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Moduł jest wykorzystywany przez szablon: {{s|Rozmieniarka}}, lub do wykorzystania bezpośredniego w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, albo jako funkcja biblioteczzna.
== Opis parametrów ==
== Przykład ==
Przykładowe użycie w wikikodzie, używając pierwszy parametr jako {{Code|kwota}}, a następny, ile jest danego nominału dla danego numerka:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->|wyspecjalizowana=tak}}
lub bezpośrednio używając parametry {{Code|kwota}} i nominałów:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|0.2zł=5|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|0.2zł=5|wyspecjalizowana=tak}}
lub inaczej:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|20gr=5|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|20gr=5|wyspecjalizowana=tak}}
Przykładowe użycie w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
-- local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
-- local limits = {
-- [10] = 2, -- limit dla nominału 10zł -- Parametr 7;
-- [0.2] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
-- };
local wynik=rozmieniarka_modul.calculateNominals{
[1] = 123.45, -- kwota;
[7] = 2, -- nominał 10zł;
[12] = 5, -- nominał 0.2zł;
};
</syntaxhighlight>
lub inny przykład inaczej licząca liczbę nominałów:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local nominals = {
[10] = 2, -- limit dla nominału 10zł -- Parametr 7;
[0.2] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local frame=rozmieniarka_modul.createNominals(nominals,amount);
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
lub inaczej:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local nominals = {
["kwota"] = amount, -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["0.2zł"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local frame=rozmieniarka_modul.createNominals(nominals);
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
albo bezpośrednio:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local frame = {
["kwota"] = amount, -- kwota -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["0.2zł"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
lub inaczej:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local frame = {
["kwota"] = amount, -- kwota -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["20gr"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
</includeonly>
o70gd063pcl07peru2m5dz1r9ms7msk
558129
558128
2026-09-30T18:55:16Z
Persino
2851
558129
wikitext
text/x-wiki
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Moduł jest wykorzystywany przez szablon: {{s|Rozmieniarka}}, lub do wykorzystania bezpośredniego w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, albo jako funkcja biblioteczzna.
== Opis parametrów ==
== Przykład ==
Przykładowe użycie w wikikodzie, używając pierwszy parametr jako {{Code|kwota}}, a następny, ile jest danego nominału dla danego numerka:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->|wyspecjalizowana=tak}}
lub bezpośrednio używając parametry {{Code|kwota}} i nominałów:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|0.2zł=5|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|0.2zł=5|wyspecjalizowana=tak}}
lub inaczej:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|20gr=5|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|20gr=5|wyspecjalizowana=tak}}
Przykładowe użycie w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
-- local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
-- local limits = {
-- [10] = 2, -- limit dla nominału 10zł -- Parametr 7;
-- [0.2] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
-- };
local wynik=rozmieniarka_modul.calculateNominals{
[1] = 123.45, -- kwota;
[7] = 2, -- nominał 10zł;
[12] = 5, -- nominał 0.2zł;
};
</syntaxhighlight>
lub inny przykład inaczej licząca liczbę nominałów:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local nominals = {
[10] = 2, -- limit dla nominału 10zł -- Parametr 7;
[0.2] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local frame=rozmieniarka_modul.createNominals(nominals,amount);
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
lub inaczej:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local nominals = {
["kwota"] = amount, -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["0.2zł"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local frame=rozmieniarka_modul.createNominals(nominals);
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
albo bezpośrednio:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local frame = {
["kwota"] = amount, -- kwota -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["0.2zł"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
lub inaczej:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local frame = {
["kwota"] = amount, -- kwota -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["20gr"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
</includeonly>
toap4dkp4woj15q3h8k4lc5ouy757qr
558131
558129
2026-09-30T19:02:10Z
Persino
2851
558131
wikitext
text/x-wiki
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Moduł jest wykorzystywany przez szablon: {{s|Rozmieniarka}}, lub do wykorzystania bezpośredniego w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, albo jako funkcja biblioteczzna.
== Opis parametrów ==
== Przykład ==
Przykładowe użycie w wikikodzie, używając pierwszy parametr jako {{Code|kwota}}, a następny, ile jest danego nominału dla danego numerka:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->|wyspecjalizowana=tak}}.
lub bezpośrednio używając parametry {{Code|kwota}} i nominałów:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|0.2zł=5|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|0.2zł=5|wyspecjalizowana=tak}}.
lub inaczej:
<syntaxhighlight lang=mediawiki>
{{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|20gr=5|wyspecjalizowana=tak}}
</syntaxhighlight>
* Wynik: {{#invoke:Rozmieniarka|calculateNominals|kwota=123.45|10zł=2|20gr=5|wyspecjalizowana=tak}}.
Przykładowe użycie w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
-- local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
-- local limits = {
-- [10] = 2, -- limit dla nominału 10zł -- Parametr 7;
-- [0.2] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
-- };
local wynik=rozmieniarka_modul.calculateNominals{
[1] = 123.45, -- kwota;
[7] = 2, -- nominał 10zł;
[12] = 5, -- nominał 0.2zł;
};
</syntaxhighlight>
lub inny przykład inaczej licząca liczbę nominałów:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local nominals = {
[10] = 2, -- limit dla nominału 10zł -- Parametr 7;
[0.2] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local frame=rozmieniarka_modul.createNominals(nominals,amount);
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
lub inaczej:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local nominals = {
["kwota"] = amount, -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["0.2zł"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local frame=rozmieniarka_modul.createNominals(nominals);
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
albo bezpośrednio:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local frame = {
["kwota"] = amount, -- kwota -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["0.2zł"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
lub inaczej:
<syntaxhighlight lang="lua">
local rozmieniarka_modul=require("Module:Rozmieniarka");
local amount = 123.45; -- kwota: 123.45zł -- Parametr 1
local frame = {
["kwota"] = amount, -- kwota -- Parametr 1;
["10zł"] = 2, -- limit dla nominału 10zł -- Parametr 7;
["20gr"] = 5, -- limit dla nominału 0.2zł -- Parametr 12;
};
local wynik=rozmieniarka_modul.calculateNominals(frame);
</syntaxhighlight>
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
</includeonly>
bhw0xkqvobv1y3kksopu7vdft7fymh2
Szablon:Rozmieniarka
10
60086
558126
539860
2026-09-30T18:50:49Z
Persino
2851
558126
wikitext
text/x-wiki
{{#invoke:Rozmieniarka|calculateNominals}}<!--
--><noinclude>{{Dokumentacja}}</noinclude>
5kq5kdl95w61fwnhipxinuadkvkbnhp
Moduł:StronicowyParser/AnalizaSpisuRzeczy
828
60192
558122
557789
2026-09-30T18:10:09Z
Persino
2851
558122
Scribunto
text/plain
local p={};
function p.SzukanieNaPodstawieWzoru(tekst,wzor,liczba_od,liczba_do,czy_od_tylu,jak)
if(not czy_od_tylu)then
if((liczba_od)and(liczba_do)and(liczba_od>liczba_do))then return;end;
local a,b,c,d,e,f,g,h,i,j,k=mw.ustring.find(tekst,wzor,liczba_od);
if((a)and(b)and(a>b))then return;end;
if((not liczba_do)or((b)and(b<=liczba_do)))then
return a,b,c,d,e,f,g,h,i,j,k;
end;
return nil;
else
if((liczba_od)and(liczba_do)and(liczba_od<liczba_do))then return;end;
local liczba_start=liczba_do or 1;
local a,b,c,d,e,f,g,h,i,j,k=nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil;
while(true)do
local a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1=mw.ustring.find(tekst,wzor,liczba_start);
if((a1)and(b1)and(a1>b1))then return;end;
if((not b1)or((b1)and(b1>liczba_od)))then
return a,b,c,d,e,f,g,h,i,j,k;
elseif((b1)and(b1==liczba_od))then
return a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1;
end;
a,b,c,d,e,f,g,h,i,j,k=a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1;
if(not jak)then
if(a1==b1)then
liczba_start=b1+1;
else
liczba_start=b1;
end;
else
liczba_start=b1+1;
end;
end;
end;
end;
function p.SzukanieNaPodstawieWzoruElementuLinii(tekst,wzor_linia,liczba_od,liczba_do,czy_od_tylu)
local liczba_start_rozdzial,liczba_koniec_rozdzial,rozdzial=nil,nil,nil;
local a1;local a2;local a3;local a4;local a5;local a6;local a7;local a8;local a9;
local dlugosc_tekstu_wyszukiwanego=#tekst;
if(not czy_od_tylu)then
if((not liczba_od)or(liczba_od==1))then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"^"..wzor_linia.."[^%S\n]*\n",liczba_od,liczba_do,false);
end;
if(not liczba_start_rozdzial)then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"\n"..wzor_linia.."[^%S\n]*\n",liczba_od,liczba_do,false);
if(not liczba_start_rozdzial)then
if((not liczba_do)or(liczba_do==dlugosc_tekstu_wyszukiwanego))then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"\n"..wzor_linia.."[^%S\n]*$",liczba_od,liczba_do,false);
end;
if(not liczba_start_rozdzial)then
if(((not liczba_od)or(liczba_od==1))and((not liczba_do)or(liczba_do==dlugosc_tekstu_wyszukiwanego)))then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"^"..wzor_linia.."[^%S\n]*$",liczba_od,liczba_do,false);
end;
end;
end;
end;
else
if(liczba_od==dlugosc_tekstu_wyszukiwanego)then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"\n"..wzor_linia.."[^%S\n]*$",liczba_od,liczba_do,true);
end;
if(not liczba_start_rozdzial)then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"\n"..wzor_linia.."[^%S\n]*\n",liczba_od,liczba_do,true);
if(not liczba_start_rozdzial)then
if((not liczba_do)or(liczba_do==1))then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"^"..wzor_linia.."[^%S\n]*\n",liczba_od,liczba_do,true);
end;
if(not liczba_start_rozdzial)then
if(((not liczba_od)or(liczba_od==dlugosc_tekstu_wyszukiwanego))and((not liczba_do)or(liczba_do==1)))then
liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9=p.SzukanieNaPodstawieWzoru(tekst,"^"..wzor_linia.."[^%S\n]*$",liczba_od,liczba_do,true);
end;
end;
end;
end;
end;
return liczba_start_rozdzial,liczba_koniec_rozdzial,a1,a2,a3,a4,a5,a6,a7,a8,a9;
end;
function p.CzyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local tab_2,numer_rodzaju_artykulu,id,parametry,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,stronicowyparser_rozdzialy_modul.__FUNKCJA_KOMPLETOWANIA);
if(not kom)then
local tab=((tab_2 and tab_2[1]) and tab_2 or nil);
if(tab)then
if(numer_rodzaju_artykulu==1)then
local artykul=stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab[1],false);
local czy_podrecznik=((mw.ustring.match(artykul,"^%u"))and((not mw.ustring.match(artykul,"%l%u"))or(mw.ustring.match(artykul,"%s"))))
local function StronyWstepu(artykul)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tak=true;
for _,wzor in ipairs(stronicowyparser_obiekty_modul.artykularne_niespisowe) do
tak=tak and (not mw.ustring.match(artykul,wzor));
if(not tak)then return tak;end;
end;
return tak;
end;
if((czy_glowny_spis_tresci)and(artykul==""))then
return false,numer_rodzaju_artykulu,czy_podrecznik,false;
else
if((czy_usun_okladka)--[[or(numer_rodzaju_artykulu>1)]]or(--[[(numer_rodzaju_artykulu==1)and]](artykul~="")and(StronyWstepu(artykul))))then
return true,numer_rodzaju_artykulu,czy_podrecznik,false;
else
return true,numer_rodzaju_artykulu,czy_podrecznik,true;
end;
end;
else
return true,numer_rodzaju_artykulu,--[[czy_podrecznik]]false,false;
end;
end;
end;
return false,nil;
end;
function p.CzySpecjalnyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)
if(obiekt=="SZABLON")then
local szablonowe_modul=require("Module:Szablonowe");
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
----
if(nazwa_szablonu=="SpisTreści")then
return true,1;
else
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_spisu=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu];
if(tabela_spisu)then
local parametr_linku;
if(tabela_spisu[1]==true)then
local numer_link=tabela_spisu["numer_link"];
parametr_linku=tabela_parametrow_szablonu[numer_link];
else
local numer_link=tabela_spisu["link"];
parametr_linku=tabela_parametrow_szablonu[numer_link];
end;
if(parametr_linku)then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(parametr_linku,nil,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
if((obiekt=="SZABLON")or(obiekt=="LINKW")or(obiekt=="LINKZ"))then
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)
if(czy_element_spisu)then
return czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
end;
end;
end;
end;
end;
end;
end);
if(czy_element_spisu)then
return czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
end;
end;
return false;
end;
function p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci);
if((not czy_element_spisu)and(not numer_rodzaju_artykulu))then
czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzySpecjalnyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci);
end;
return czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
end;
function p.CzyTamElementyNieSpisoweArtykularne(linia,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)
local tak=false;
local szablonowe_modul=require("Module:Szablonowe");
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,pelna_nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
--czy_w_petli=true;
if((obiekt=="SZABLON")or(obiekt=="LINKW")or(obiekt=="LINKZ"))then
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((czy_element_spisu)and(not czy_okladka))then
return true;
elseif((not czy_element_spisu)and(numer_rodzaju_artykulu))then
tak=true;
break;
elseif(czy_okladka)then
tak=true;
break;
end;
end;
end;
return (not tak);
end;
function p.SzukajObiektuArtykularnegoWeElemencieTekstowym(tekst,szablon_normy_kodowania_szablonu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych, czy_usun_okladka,czy_glowny_spis_tresci,czy_wszystkie_linki,bez_innych_stron)
local start=1;
while(true)do
local start_szablon,koniec_szablon,obiekt_szablon,kod_szablon=p.SzukanieNaPodstawieWzoru(tekst,szablon_normy_kodowania_szablonu,start);
local koniec_obiekt;local kod_obiekt;local obiekt=nil;
if(start_szablon)then
if((obiekt_szablon=="SZABLON")or(obiekt_szablon=="LINKW")or(obiekt_szablon=="LINKZ"))then
local kod=kod_szablon;
local obiekt=obiekt_szablon;
local kod=tonumber(kod) or nil;
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci);
if((czy_element_spisu)and((czy_wszystkie_linki)or(((numer_rodzaju_artykulu==1)and(not czy_okladka))or((bez_innych_stron)and(numer_rodzaju_artykulu>1)))))then
return true;
end;
end;
start=koniec_szablon;
else
return false;
end;
end;
end;
function p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron(linia,spacje_na_poczatku)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tak=false;
local techniczne_modul=require("Module:Techniczne");
linia=techniczne_modul.UsuwanieZnakoweKontrolneNiewidzialne(linia);
for _,p_wzor in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci) do
tak=tak or (((not spacje_na_poczatku) or (not mw.ustring.match(linia,"^%s+"))) and (mw.ustring.match(linia,"^"..p_wzor.."$")));
if(tak)then return true;end;
end;
return nil;
end;
function p.ZnajdowanieZerowegoSpisuRzeczy(tekst_rozwiniety_calego_artykulu,liczba_od,liczba_do,jak)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local techniczne_modul=require("Module:Techniczne");
while(true)do
local liczba_start_rozdzial,liczba_koniec_rozdzial,rozdzial=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"([^\n]+)",liczba_od,liczba_do,jak);
if(liczba_start_rozdzial)then
local czy_zerowy_spis_rzeczy=p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron(rozdzial,true);
if(czy_zerowy_spis_rzeczy)then
return liczba_start_rozdzial,liczba_koniec_rozdzial,rozdzial;
else
liczba_od=jak and liczba_start_rozdzial or liczba_koniec_rozdzial;
end;
else
return;
end;
end;
return nil;
end;
function p.CzyWprowadzenieNapisuTekstuCentrowany(szablon,obiekt,kod,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
if(obiekt=="SZABLON")then
return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
local czy_ce=stronicowyparser_obiekty_modul.szablony_wprowadzenia_napisu_spisu_rzeczy[nazwa_szablonu];
if(not czy_ce)then return;end;
local zawartosc=tabela_parametrow_szablonu[czy_ce];
if(not zawartosc)then return;end;
return true;
end);
elseif(obiekt=="ZNACZNIK")then
local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,pelna_nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if((nazwa)and(zawartosc))then
if(nazwa=="center")then
return true;
end;
end;
end;
end;
function p.ZnajdowanieZerowegoNapisuWprowadzeniaTekstu(tekst_rozwiniety_calego_artykulu,wzor,liczba_od,liczba_do,jak,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local szablonowe_modul=require("Module:Szablonowe");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
while(true)do
local liczba_start_rozdzial,liczba_koniec_rozdzial,linia=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"("..wzor..")",liczba_od,liczba_do,jak);
if(liczba_start_rozdzial)then
if((not mw.ustring.match(linia,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$"))and(not mw.ustring.match(linia,"^[%*#:;<>]")))then
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,pelna_nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul);
local szablon,obiekt,kod,poziom_iteracji=iterator();
local wynik=((szablon)and(obiekt)and(kod))and p.CzyWprowadzenieNapisuTekstuCentrowany(szablon,obiekt,kod,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nil;
if(not wynik)then
local rozdzial,czy_standardowe_rozdzialy=stronicowyparser_rozdzialy_modul.CzyZerowyNapisWprowadzeniaTekstu(linia,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if((rozdzial)and(czy_standardowe_rozdzialy))then
return liczba_start_rozdzial,liczba_koniec_rozdzial,linia;
end;
end;
end;
if(jak)then liczba_od=liczba_start_rozdzial;else liczba_od=liczba_koniec_rozdzial;end;
else
return;
end;
end;
return nil;
end;
function p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst_rozwiniety_calego_artykulu,liczba_od,liczba_do,czy_od_tylu,czy_spis_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local szablonowe_modul=require("Module:Szablonowe");
local parametry_modul=require("Module:Parametry");
local techniczne_modul=require("Module:Techniczne");
local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści")
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local function RozpatrywanieNapisoweWprowadzeniaTekstu(wzor,czy_rozdzial_rownaniowy_dodatni,__FUNKCJA1,__FUNKCJA2)
local liczba_start;local liczba_koniec;
local liczba_wys=liczba_od;
local spis_naglowka;
local spis_naglowka_stare;
local spis_naglowka_poziom;
while(true)do
local __liczba_start,__liczba_koniec,wartosc_przechwycona;
if(czy_rozdzial_rownaniowy_dodatni)then
__liczba_start,__liczba_koniec,wartosc_przechwycona=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,wzor,liczba_wys,liczba_do,czy_od_tylu)
else
__liczba_start,__liczba_koniec,wartosc_przechwycona=p.SzukanieNaPodstawieWzoru(tekst_rozwiniety_calego_artykulu,wzor,liczba_wys,liczba_do,czy_od_tylu);
end;
if(__liczba_start)then
if(not czy_od_tylu)then liczba_wys=__liczba_koniec;else liczba_wys=__liczba_start;end;
local szablon,wartosc_przechwycona=__FUNKCJA1(wartosc_przechwycona);
local wynik=__FUNKCJA2(szablon,wartosc_przechwycona,function(naglowek,poziom_naglowka)
if(czy_spis_tresci)then
spis_naglowka_stare=naglowek;
spis_naglowka=stronicowyparser_spistresci_modul.AnalizaNapisuWprowadzeniaTekstu(naglowek,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
spis_naglowka=parametry_modul["Odstępy"]{[1]=spis_naglowka,[2]="tak",};
if(poziom_naglowka)then spis_naglowka_poziom=poziom_naglowka;end;
if(czy_spis_tresci(spis_naglowka))then
liczba_start,liczba_koniec=__liczba_start,__liczba_koniec;
return false;
end;
else
spis_naglowka=naglowek;
if(poziom_naglowka)then spis_naglowka_poziom=poziom_naglowka;end;
liczba_start,liczba_koniec=__liczba_start,__liczba_koniec;
return false;
end;
return true;
end);
if(not wynik)then
break;
end;
else
break;
end;
end;
if(liczba_start)then
return liczba_start,liczba_koniec,spis_naglowka_stare,spis_naglowka,spis_naglowka_poziom;
end;
end;
local obiekt="SZABLON";
local norma_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt);
local szablony_wprowadzenia_napisu_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_wprowadzenia_napisu_spisu_rzeczy;
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local liczba_start_szablon,liczba_koniec_szablon,spis_naglowka_szablon_stare,spis_naglowka_szablon,spis_naglowka_szablon_poziom=RozpatrywanieNapisoweWprowadzeniaTekstu(
norma_kodowania_szablonu,
false,
function(kod)
kod=kod and tonumber(kod) or nil;
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
return szablon,kod;
end,
function(szablon,kod,__FUNKCJA)
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local liczba_szablon_centrowany=szablony_wprowadzenia_napisu_spisu_rzeczy[nazwa_szablonu];
if(liczba_szablon_centrowany)then
local naglowek=tabela_parametrow_szablonu[liczba_szablon_centrowany];
if(naglowek)then
if(not mw.ustring.match(naglowek,"^%s*%d+%s*/%s*%d+%s*$"))then
return __FUNKCJA(naglowek,nil);
end;
end;
else
local liczba_szablon_napisowu_sztucznego_wprowadzenia_tekstu=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(liczba_szablon_napisowu_sztucznego_wprowadzenia_tekstu)then
local naglowek=tabela_parametrow_szablonu[liczba_szablon_napisowu_sztucznego_wprowadzenia_tekstu];
if(naglowek)then
local naglowek,poziom_naglowka=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(naglowek);
if((naglowek)and(poziom_naglowka))then
return __FUNKCJA(naglowek,poziom_naglowka);
end;
end;
end;
end;
return true;
end);
return wynik;
end);
local obiekt="ZNACZNIK";
local norma_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt);
local liczba_start_znacznik,liczba_koniec_znacznik,spis_naglowka_znacznik_stare,spis_naglowka_znacznik,spis_naglowka_znacznik_poziom=RozpatrywanieNapisoweWprowadzeniaTekstu(
norma_kodowania_szablonu,
false,
function(kod)
kod=kod and tonumber(kod) or nil;
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
return szablon,kod;
end,
function(szablon,kod,__FUNKCJA)
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,pelna_nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if(nazwa=="center")then
if(zawartosc)then
if(not mw.ustring.match(zawartosc,"^%s*%d+%s*/%s*%d+%s*$"))then
return __FUNKCJA(zawartosc,nil);
end;
end;
elseif(znaczniki_wprowadzenia_tekstu[nazwa])then
if(zawartosc)then
local numer_rozdzialu=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty);
if(numer_rozdzialu)then
return __FUNKCJA(zawartosc,numer_rozdzialu);
end;
end;
end;
return true;
end);
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local wzor_rozdzialu_dodatniego="(=+[^\n]*[^=\n][^\n]*=+)[^%S\n]*";
local liczba_start_dodatni,liczba_koniec_dodatni,spis_naglowka_dodatni_stare,spis_naglowka_dodatni,spis_naglowka_dodatni_poziom=RozpatrywanieNapisoweWprowadzeniaTekstu(
wzor_rozdzialu_dodatniego,
true,
function(naglowek)
return naglowek,naglowek;
end,
function(naglowek,_,__FUNKCJA)
local naglowek,poziom_naglowka=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(naglowek);
if(naglowek)then
return __FUNKCJA(naglowek,poziom_naglowka);
end;
return true;
end);
if((liczba_start_szablon)or(liczba_start_znacznik)or(liczba_start_dodatni))then
local _max_min;
if(czy_od_tylu)then
_max_min=math.max(math.max(liczba_start_szablon or 0,liczba_start_znacznik or 0),liczba_start_dodatni or 0);
else
_max_min=math.min(math.min(liczba_start_szablon or #tekst_rozwiniety_calego_artykulu,liczba_start_znacznik or #tekst_rozwiniety_calego_artykulu),liczba_start_dodatni or #tekst_rozwiniety_calego_artykulu);
end;
local function ParametryNapisuWprowadzeniaTekstu(liczba_start,liczba_koniec,spis_naglowka_stare,spis_naglowka,spis_naglowka_poziom)
local spis_naglowka_stare=spis_naglowka_stare or spis_naglowka;
if((not czy_spis_tresci)and(spis_naglowka))then
spis_naglowka=stronicowyparser_spistresci_modul.AnalizaNapisuWprowadzeniaTekstu(spis_naglowka,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
spis_naglowka=parametry_modul["Odstępy"]{[1]=spis_naglowka,[2]="tak",};
end;
return liczba_start,liczba_koniec,spis_naglowka,spis_naglowka_stare,spis_naglowka_poziom;
end;
if((liczba_start_szablon)and(_max_min==liczba_start_szablon))then
return ParametryNapisuWprowadzeniaTekstu(liczba_start_szablon,liczba_koniec_szablon,spis_naglowka_szablon_stare,spis_naglowka_szablon,spis_naglowka_szablon_poziom);
elseif((liczba_start_znacznik)and(_max_min==liczba_start_znacznik))then
return ParametryNapisuWprowadzeniaTekstu(liczba_start_znacznik,liczba_koniec_znacznik,spis_naglowka_znacznik_stare,spis_naglowka_znacznik,spis_naglowka_znacznik_poziom);
elseif((liczba_start_dodatni)and(_max_min==liczba_start_dodatni))then
return ParametryNapisuWprowadzeniaTekstu(liczba_start_dodatni,liczba_koniec_dodatni,spis_naglowka_dodatni_stare,spis_naglowka_dodatni,spis_naglowka_dodatni_poziom);
end;
end;
return nil;
end;
function p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu(obiekt,kod,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local szablonowe_modul=require("Module:Szablonowe");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local szablony_wprowadzenia_napisu_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_wprowadzenia_napisu_spisu_rzeczy;
local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu;
local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu;
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
local linki=function(zawartosc)
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(zawartosc,nil,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
if((obiekt=="LINKW")or(obiekt=="LINKZ"))then
local dalszy_tekst=mw.ustring.match(zawartosc,szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod).."(.*)$");
return szablon,obiekt,kod,dalszy_tekst;
elseif(obiekt=="SZABLON")then
local szablon,obiekt,kod,dalszy_tekst=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if((stronicowyparser_obiekty_modul.linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu])
or(stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu])
)then
local dalszy_tekst=mw.ustring.match(zawartosc,szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod).."(.*)$");
return szablon,obiekt,kod,dalszy_tekst;
end;
local tab_szablon_link_intelignetny=stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod);
if(tab_szablon_link_intelignetny)then
local dalszy_tekst=mw.ustring.match(zawartosc,szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod).."(.*)$");
return szablon,obiekt,kod,dalszy_tekst;
end;
end);
return szablon,obiekt,kod,dalszy_tekst;
end;
return nil;
end;
end;
if(obiekt=="SZABLON")then
local szablon,obiekt,kod=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
local czy_numer_parametru_naglowka=szablony_wprowadzenia_napisu_spisu_rzeczy[nazwa_szablonu];
local zawartosc;
if(not czy_numer_parametru_naglowka)then
czy_numer_parametru_naglowka=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu];
if(not czy_numer_parametru_naglowka)then return nil;end;
local zawartosc_szablonu=tabela_parametrow_szablonu[czy_numer_parametru_naglowka];
if(not zawartosc_szablonu)then return nil;end;
zawartosc_szablonu=mw.text.trim(zawartosc_szablonu);
local naglowek,poziom_naglowka=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(zawartosc_szablonu);
if((not naglowek)or(not poziom_naglowka))then return nil;end;
zawartosc=naglowek;
else
zawartosc=tabela_parametrow_szablonu[czy_numer_parametru_naglowka];
if(not zawartosc)then return nil;end;
end;
local szablon,obiekt,kod,dalszy_tekst=linki(zawartosc);
if((szablon)and(obiekt)and(kod))then
return szablon,obiekt,kod,dalszy_tekst;
end;
return nil;
end);
return szablon,obiekt,kod;
elseif(obiekt=="ZNACZNIK")then
local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,pelna_nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod);
if(zawartosc)then
if((nazwa=="center")or(znaczniki_wprowadzenia_tekstu[nazwa]))then
local szablon,obiekt,kod,dalszy_tekst=linki(zawartosc);
if((szablon)and(obiekt)and(kod))then
return szablon,obiekt,kod,dalszy_tekst;
end;
return nil;
end;
end;
return nil;
end;
end;
function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)
return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe)
if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then
local str=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek+1,liczba_obiekt_start_nowe-1);
if((mw.ustring.match(str,"^%s*'+(.+)'+%s*$"))
or(mw.ustring.match(str,"^[%*#:;<>]+.*$")
or(mw.ustring.match(str,"^[%s%p%w]*$")))
)then return nil;end;
local ile_punktowanych=0;
local szablonowe_modul=require("Module:Szablonowe");
local _,ile=mw.ustring.gsub(str,"([^\n]+)",function(linia)
if((mw.ustring.match(linia,"^[%*#;:<>]"))or(mw.ustring.match(linia,"^%s*$")))then
ile_punktowanych=ile_punktowanych+1;
else
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,nil,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((czy_element_spisu)and(numer_rodzaju_artykulu>2))then
ile_punktowanych=ile_punktowanych+1;
break;
end;
end;
end;
end);
if(ile_punktowanych>=ile)then
return nil;
end;
str=mw.ustring.gsub(str,szablonowe_modul.NormaWzoruKodowaniaTekstu("SZABLON"),"");
if(not mw.ustring.match(str,"^%s*$"))then
if(czy_zeruj)then
tab_zmienne.liczba_nie_okladka_artykul=nil;
tab_zmienne.liczba_pierwszy_rozdzialowy_artykul=nil;
tab_zmienne.czy_ten_rozdzial=nil;
--tab_zmienne={["liczba_nie_okladka_artykul"]=liczba_nie_okladka_artykul,["liczba_pierwszy_rozdzialowy_artykul"]=liczba_pierwszy_rozdzialowy_artykul,["czy_ten_rozdzial"]=czy_ten_rozdzial,}
end;
return true;
end;
end;
return nil;
end;
end;
function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)
local odtylu=liczba_obiekt_start_spac_par;
local liczba_start_naglowek;local liczba_koniec_naglowek;local naglowek;local poziom_naglowka;
local liczba_start_naglowek_dalej;local liczba_koniec_naglowek_dalej;local naglowek_dalej;local poziom_naglowka_dalej;
local czy_fun=false;
local czy_pierwszy=nil;
local liczba_koniec_naglowek_poczt=nil;
local szablonowe_modul=require("Module:Szablonowe");
while(true)do
local liczba_start_naglowek_nowe;local liczba_koniec_naglowek_nowe;local naglowek_nowe;local poziom_naglowka_nowe;
if(czy_dodatni==1)then
local _;
liczba_start_naglowek_nowe,liczba_koniec_naglowek_nowe,naglowek_nowe,_,poziom_naglowka_nowe=p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst_rozwiniety_calego_artykulu,odtylu,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true,false,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
elseif(czy_dodatni==2)then
local str_lista_naglowek;
liczba_start_naglowek_nowe,liczba_koniec_naglowek_nowe,str_lista_naglowek,naglowek_nowe=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"([%*#:;<>]+)[^%S\n]*([^\n]-)",odtylu,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
poziom_naglowka_nowe=liczba_start_naglowek_nowe and (-#str_lista_naglowek) or nil;
else
liczba_start_naglowek_nowe,liczba_koniec_naglowek_nowe,naglowek_nowe=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"([^%*#:;<>\n][^%S\n]*[^\n]-:)",odtylu,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
poziom_naglowka_nowe=liczba_start_naglowek_nowe and 0 or nil;
end;
if(not liczba_start_naglowek_nowe)then
break;
else
poziom_naglowka_nowe=(czy_dodatni==1)and (poziom_naglowka_nowe or 2) or poziom_naglowka_nowe;
local czy_tak_spisowe=(czy_dodatni==1) and true or p.CzyTamElementyNieSpisoweArtykularne(mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_start_naglowek_nowe,liczba_koniec_naglowek_nowe),nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych);
if(czy_tak_spisowe)then
if(not czy_pierwszy)then
liczba_koniec_naglowek_poczt=liczba_koniec_naglowek_nowe;
czy_pierwszy=true;
end;
if(liczba_start_naglowek)then
if(liczba_koniec_naglowek_nowe<liczba_start_naglowek)then
if(liczba_koniec_naglowek_nowe+1<=liczba_start_naglowek-1)then
local pomiedzy_naglowkami=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek_nowe+1,liczba_start_naglowek-1);
local czy_pomiedzy_naglowkami=(pomiedzy_naglowkami)and(not mw.ustring.match(pomiedzy_naglowkami,"^%s*$"));
if(czy_pomiedzy_naglowkami
and(((czy_dodatni==1)
and(
((poziom_naglowka_nowe)and(not poziom_naglowka))
or(
((poziom_naglowka_nowe)and(poziom_naglowka))
and(poziom_naglowka_nowe>=poziom_naglowka)
)
)
or(
((czy_dodatni==2)and(poziom_naglowka_nowe<=poziom_naglowka))
or((czy_dodatni~=1)and(czy_dodatni~=2))
)
)--[[or(
not mw.ustring.match(pomiedzy_naglowkami,szablonowe_modul.NormaWzoruKodowaniaTekstu())
)]])
)then
liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej=liczba_start_naglowek_nowe,liczba_koniec_naglowek_nowe,naglowek_nowe,poziom_naglowka_nowe;
break;
end;
end;
elseif(liczba_start_naglowek~=liczba_koniec_naglowek_nowe)then
liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej=liczba_start_naglowek_nowe,liczba_koniec_naglowek_nowe,naglowek_nowe,poziom_naglowka_nowe;
break;
end;
end;
if(((czy_dodatni==1)or(czy_dodatni==2))and(AnalizowanieSekcjowe)and(not czy_fun))then
local spis_tresci=p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron(naglowek_nowe);
if(not spis_tresci)then
--local str=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek_nowe,liczba_obiekt_start_nowe);
local czy_wynik=AnalizowanieSekcjowe(liczba_koniec_naglowek_nowe,liczba_obiekt_start_nowe);
if(czy_wynik)then return false;end;
end;
czy_fun=true;
end;
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_nowe,liczba_koniec_naglowek_nowe,naglowek_nowe,poziom_naglowka_nowe;
end;
end;
odtylu=liczba_start_naglowek_nowe;
end;
return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej;
end
function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)
local liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka,liczba_start_naglowek_dalej=p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,1,czy_bez_naglowka,AnalizowanieSekcjowe);
----
if((AnalizowanieSekcjowe)and(liczba_start_naglowek==false))then return nil;end;
----
local str_spacja_lub_zerowy_naglowek=function(tekst)
local ile_znalezione_linie_wedlug_wzoru=0;
local _,ile=mw.ustring.gsub(tekst,"([^\n]+)",function(linia)
if((mw.ustring.match(linia,"^[^%*#:;<>\n].-:%s*$"))or(mw.ustring.match(linia,"^%s*$")))then
ile_znalezione_linie_wedlug_wzoru=ile_znalezione_linie_wedlug_wzoru+1;
end;
return nil;
end);
if(ile==ile_znalezione_linie_wedlug_wzoru)then return true;end;
return nil;
end;
if((not liczba_start_naglowek_dalej)and(liczba_start_naglowek))then
local liczba_szukaj_odtylu_tekst=liczba_start_naglowek;
local liczba_start_rozdzial,liczba_koniec_rozdzial,rozdzial=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"''+([^\n]+)''+",liczba_szukaj_odtylu_tekst,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
if(not liczba_start_rozdzial)then
while(true)do
local liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp=p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_start_naglowek,2,czy_bez_naglowka,nil);
if(liczba_start_naglowek_temp)then
local str=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek_temp,liczba_start_naglowek);
if(not str_spacja_lub_zerowy_naglowek(str))then
break;
end;
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp;
end;
local liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp=p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_start_naglowek,3,czy_bez_naglowka,nil);
if(liczba_start_naglowek_temp)then
local str=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek_temp,liczba_start_naglowek);
if(not str_spacja_lub_zerowy_naglowek(str))then
break;
end;
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp;
end;
if(not liczba_start_naglowek_temp)then break;end;
end;
end;
elseif(not liczba_start_naglowek)then
local liczba_szukaj_odtylu_tekst=liczba_obiekt_start_kolei_par;
local liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"''+([^\n]-[^'\n][^\n]-)''+",liczba_szukaj_odtylu_tekst,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
if(liczba_start_naglowek_temp)then
local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści")
local spis_naglowka_szablon=stronicowyparser_spistresci_modul.AnalizaNapisuWprowadzeniaTekstu(naglowek_temp,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if(not mw.ustring.match(spis_naglowka_szablon,"!%s*$")and(not mw.ustring.match(spis_naglowka_szablon,"%S!")))then
----
local tak=false;
local czy_w_petli=false;
local szablonowe_modul=require("Module:Szablonowe");
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(naglowek_temp,nil,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
czy_w_petli=true;
if((obiekt=="SZABLON")or(obiekt=="LINKW")or(obiekt=="LINKZ"))then
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((czy_element_spisu)and(not czy_okladka))then
if(numer_rodzaju_artykulu==1)then
tak=true;
break;
end;
end;
end;
end;
if((tak)or(not czy_w_petli))then
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,0;
end;
end;
else
local liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp,liczba_start_naglowek_dalej_temp=p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,2,czy_bez_naglowka,nil);
if(liczba_start_naglowek_temp)then
if(liczba_koniec_naglowek_temp+1<=liczba_obiekt_start_kolei_par-1)then
local str=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek_temp+1,liczba_obiekt_start_kolei_par-1);
if(mw.ustring.match(str,"^%s*$"))then
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp;
liczba_obiekt_start_kolei_par=liczba_start_naglowek;
end;
else
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp;
liczba_obiekt_start_kolei_par=liczba_start_naglowek;
end;
end;
local liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp,liczba_start_naglowek_dalej_temp=p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,3,czy_bez_naglowka,nil);
if(liczba_start_naglowek_temp)then
if(liczba_koniec_naglowek_temp+1<=liczba_obiekt_start_kolei_par-1)then
local str=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek_temp+1,liczba_obiekt_start_kolei_par-1);
if(mw.ustring.match(str,"^%s*$"))then
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp;
end;
else
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=liczba_start_naglowek_temp,liczba_koniec_naglowek_temp,naglowek_temp,poziom_naglowka_temp;
end;
end;
end;
end;
return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka;
end;
function p.SzukanieSekcjiLinkowychLiniowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_start,czy_dalej_rozdzial,liczba_pierwszy_rozdzialowy_artykul)
local liczba_spac=0;
if(liczba_start)then
local liczba_start_tekst=liczba_start;local liczba_koniec_tekst;local linia;
while(true)do
local liczba_start_tekst_stare=liczba_start_tekst;
linia=nil
local liczba_szukaj_odtylu_tekst=liczba_start_tekst;
liczba_start_tekst,liczba_koniec_tekst,linia=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"([^%*#:;<>\n][^\n]*)",liczba_szukaj_odtylu_tekst,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
local rozdzial_dodatki=linia and mw.ustring.match(linia,"^(=+([^\n]*[^=\n][^\n]*)=+)[^%S\n]*$") or nil;
if(rozdzial_dodatki)then
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial_dodatki);
if(naglowek)then
return (czy_dalej_rozdzial)and liczba_start or liczba_koniec_tekst,liczba_spac;
end;
end;
local spacja=linia and mw.ustring.match(linia,"^%s*$") or nil;
if(spacja)then
liczba_spac=liczba_spac+liczba_koniec_tekst-liczba_start_tekst+1;
elseif((not spacja)and(linia))then
local czy_spis=nil;
local spis_tresci=p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron(linia,true);
local liczba_start_rozdzial,liczba_koniec_rozdzial,rozdzial=nil,nil,nil;
local czy_rozdzial_dwukropkowy;
if(not spis_tresci)then
liczba_start_rozdzial,liczba_koniec_rozdzial,rozdzial=p.ZnajdowanieZerowegoSpisuRzeczy(tekst_rozwiniety_calego_artykulu,liczba_start_tekst,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
if(liczba_start_rozdzial)then
liczba_start=liczba_start_rozdzial;
else
czy_rozdzial_dwukropkowy=mw.ustring.match(linia,"^[^\n]+:[^%S\n]*$");
liczba_start=czy_rozdzial_dwukropkowy and liczba_start_tekst or liczba_koniec_tekst;
end;
czy_spis=liczba_start_rozdzial and true or nil;
else
liczba_start=--[[spis_tresci and]] liczba_start_tekst--[[ or liczba_koniec_tekst]];
czy_spis=true;
end;
if(not liczba_start_rozdzial)then
if(not spis_tresci)then
local szablonowe_modul=require("Module:Szablonowe");
if(mw.ustring.match(linia,szablonowe_modul.NormaWzoruKodowaniaTekstu()))then
local tak=false;
local czy_okladka=nil;
local szablonowe_modul=require("Module:Szablonowe");
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,nil,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
if((obiekt=="SZABLON")or(obiekt=="LINKW")or(obiekt=="LINKZ"))then
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((czy_element_spisu)and(not czy_okladka))then
tak=true;
break;
end;
end;
end;
liczba_start=tak and liczba_start_tekst or liczba_start;
czy_spis=((czy_rozdzial_dwukropkowy)and(not tak))and true or nil;
else
liczba_start=czy_rozdzial_dwukropkowy and liczba_start_tekst or liczba_koniec_tekst;
czy_spis=czy_rozdzial_dwukropkowy and true or nil;
end;
else
liczba_start=--[[spis_tresci and ]]liczba_start_tekst--[[ or liczba_koniec_tekst]];
end;
end;
return liczba_start,liczba_spac,czy_spis;
elseif(not liczba_start_tekst)then
return (czy_dalej_rozdzial)and liczba_start or math.min(liczba_pierwszy_rozdzialowy_artykul or 1,liczba_start),liczba_spac,nil;
end;
end;
end;
return liczba_start,liczba_spac,nil;
end;
function p.SzukanieLinkuWeSzablonieOrazDalszymNapisie(obiekt,kod,linia,dalszy_tekst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_nieoddzielone,czy_wszystkie_linki)
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
local czy_element_spisu,numer_rodzaju_artykulu,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
----
----
if((czy_element_spisu)and((czy_wszystkie_linki)or((numer_rodzaju_artykulu==1)and(not czy_okladka))or(numer_rodzaju_artykulu>1)))then
return true;
else
local szablonowe_modul=require("Module:Szablonowe");
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(dalszy_tekst,nil,tablica_analizy_obiektow_strony_dany_modul);
local szablon_obiekt_temp,szablon_kod_temp=obiekt_szablon,kod_szablon;
for szablon,obiekt,kod in iterator do
local czy_znajdz=mw.ustring.match(dalszy_tekst,szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod));
if(czy_znajdz)then
local czy_tekst=czy_nieoddzielone or mw.ustring.match(linia,szablonowe_modul.NormaWzoruKodowaniaTekstu(szablon_obiekt_temp,szablon_kod_temp).."[%p%s%d%.]*"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod));
if(czy_tekst)then
if((obiekt=="SZABLON")or(obiekt=="LINKW")or(obiekt=="LINKZ"))then
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((czy_element_spisu)and((czy_wszystkie_linki)or((numer_rodzaju_artykulu==1)and(not czy_okladka))or(numer_rodzaju_artykulu>1)))then
return true;
end;
end;
else
return false;
end;
szablon_obiekt_temp,szablon_kod_temp=obiekt,kod;
end;
end;
return false;
end;
end;
function p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_spisowa)
local liczba_spisu=liczba_spisowa;
local szablonowe_modul=require("Module:Szablonowe");
local szablon_normy_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu()
while(true)do
local liczba_linki_nierozdzialowe_szablonu,_,linia,przed_tekst,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"([^%S\n]*([^\n]-)[^%S\n]*"..szablon_normy_kodowania_szablonu.."([^\n]*))",liczba_spisu,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
---
if((liczba_linki_nierozdzialowe_szablonu)
and(
(przed_tekst=="")
or(mw.ustring.match(przed_tekst,"^[%p%s%d%.]*$"))
)
)then
liczba_spisu=liczba_linki_nierozdzialowe_szablonu;
if((obiekt_szablon=="SZABLON")or(obiekt_szablon=="LINKW")or(obiekt_szablon=="LINKZ"))then
local obiekt=obiekt_szablon;
local kod=kod_szablon;
kod=tonumber(kod) or nil;
----
local czy_znalezione=p.SzukanieLinkuWeSzablonieOrazDalszymNapisie(obiekt,kod,linia,dalszy_tekst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,false);
if(czy_znalezione)then return liczba_linki_nierozdzialowe_szablonu,true;end;
return liczba_spisowa,false;
end;
else
return liczba_spisowa,false;
end;
end;
end;
function p.SzukanieSekcjiLinkowychLiniowychZakresowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_pierwszy_rozdzialowy_artykul,liczba_przed_rozdzialem,liczba_start_naglowek_przed,czy_znajdz)
local liczba_start=liczba_przed_rozdzialem;
local liczba_start_sugerowane,liczba_spac,czy_spis=p.SzukanieSekcjiLinkowychLiniowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_start,true,liczba_pierwszy_rozdzialowy_artykul);
if(czy_spis)then
liczba_start=liczba_start_sugerowane;
return liczba_start,true;
elseif(not czy_znajdz)then
liczba_start=liczba_przed_rozdzialem;
return liczba_start,true;
end;
if(liczba_start_sugerowane<liczba_start-liczba_spac)then
if((not liczba_start_naglowek_przed)or(liczba_start_sugerowane>liczba_start_naglowek_przed))then
liczba_start=liczba_start_sugerowane;
local liczba_start_od_tylu=liczba_start;
local liczba_start_nowa=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"''+[^\n]*[^'][^\n]*''+",liczba_start_od_tylu,liczba_start_rozdzial,true);
if(liczba_start_nowa)then
if((not liczba_start_naglowek_przed)or(liczba_start_nowa>liczba_start_naglowek_przed))then
liczba_start=liczba_start_nowa;
end;
else
liczba_start=liczba_start_sugerowane;
end;
end;
else
liczba_start=liczba_start_sugerowane;
end;
return liczba_start,false;
end;
function p.PoliczKoniecZakodowanegoTekstuArtykularnego(tekst_rozwiniety_calego_artykulu,liczba_obiekt_koniec,liczba_koniec)
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
while(true)do
local poczatek_nierozdzalowe=liczba_obiekt_koniec;
local liczba_start_nieszablon_nielink_nierozdzialowa,liczba_koniec_nieszablon_nielink_nierozdzialowa,linia=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"([^%*:;#<>'\n]+[^\n]*)",poczatek_nierozdzalowe,nil,false)
if(liczba_start_nieszablon_nielink_nierozdzialowa)then
local rozdzial_dodatki=mw.ustring.match(linia,"^(=+([^\n]*[^=\n][^\n]*)=+)[^%S\n]*$");
if(rozdzial_dodatki)then
local naglowek=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial_dodatki);
if(naglowek)then
liczba_koniec=liczba_start_nieszablon_nielink_nierozdzialowa;
return liczba_koniec;
end;
end;
local czy_spacje=mw.ustring.match(linia,"^%s*$");
if(not czy_spacje)then
liczba_koniec=liczba_start_nieszablon_nielink_nierozdzialowa;
return liczba_koniec;
elseif(czy_spacje)then
liczba_obiekt_koniec=liczba_koniec_nieszablon_nielink_nierozdzialowa;
end;
else
liczba_koniec=#tekst_rozwiniety_calego_artykulu;
return liczba_koniec;
end;
end;
return liczba_koniec;
end;
function p.KoniecStronyLicencja(tekst_rozwiniety_calego_artykulu,liczba_start,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local liczba_obiekt_start_od_tylu=#tekst_rozwiniety_calego_artykulu;
local szablonowe_modul=require("Module:Szablonowe");
local szablon_normy_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu("SZABLON");
while(true)do
local liczba_start_szablon,liczba_koniec_szablon,kod_szablon=p.SzukanieNaPodstawieWzoru(tekst_rozwiniety_calego_artykulu,szablon_normy_kodowania_szablonu,liczba_obiekt_start_od_tylu,liczba_start,true);
if(liczba_start_szablon)then
liczba_obiekt_start_od_tylu=liczba_start_szablon;
local obiekt="SZABLON";
local kod=kod_szablon and tonumber(kod_szablon) or nil;
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
----
local liczba_koniec_szablon,norma_wzoru=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow)
if(nazwa_szablonu=="Licencja")then
return liczba_koniec_szablon,szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod);
end;
end);
if(liczba_koniec_szablon)then
return liczba_koniec_szablon,norma_wzoru;
end;
elseif(not liczba_start_szablon)then
return nil;
end;
end;
end;
function p.KorygowanieTekstuSpisuRzeczy(tekst,tab_wzor,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)
local tak=nil;
local techniczne_modul=require("Module:Techniczne");
local liczba_rozdzial_start,liczba_rozdzial_koniec,rozdzial=p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst,1,nil,false,function(naglowek)
naglowek=techniczne_modul.UsuwanieZnakoweKontrolneNiewidzialne(naglowek);
if(mw.ustring.match(naglowek,"^"..tab_wzor[1].."$"))then
return true;
end;
end,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if(not liczba_rozdzial_start)then
liczba_rozdzial_start,liczba_rozdzial_koniec,rozdzial=p.ZnajdowanieZerowegoNapisuWprowadzeniaTekstu(tekst,"("..tab_wzor[1]..")",liczba_rozdzial_koniec,nil,false,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if(liczba_rozdzial_start)then tak=true;end;
end;
if(liczba_rozdzial_start)then
local liczba_rozdzial_start2,liczba_rozdzial_koniec2;
if(not tak)then
liczba_rozdzial_start2,liczba_rozdzial_koniec2=p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst,liczba_rozdzial_koniec,nil,false,false,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
else
local liczba_rozdzial_start3,liczba_rozdzial_koniec3=p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst,liczba_rozdzial_koniec,nil,false,false,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
local liczba_rozdzial_start4,liczba_rozdzial_koniec4=p.ZnajdowanieZerowegoNapisuWprowadzeniaTekstu(tekst,"[^%*#;:<>\n]+[^\n]+",liczba_rozdzial_koniec,nil,true,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
----
if((liczba_rozdzial_start3)and(liczba_rozdzial_start4))then
if(liczba_rozdzial_start3<liczba_rozdzial_start4)then
liczba_rozdzial_start2,liczba_rozdzial_koniec2=liczba_rozdzial_start3,liczba_rozdzial_koniec3;
else
liczba_rozdzial_start2,liczba_rozdzial_koniec2=liczba_rozdzial_start4,liczba_rozdzial_koniec4;
end;
elseif(liczba_rozdzial_start3)then
liczba_rozdzial_start2,liczba_rozdzial_koniec2=liczba_rozdzial_start3,liczba_rozdzial_koniec3;
elseif(liczba_rozdzial_start4)then
liczba_rozdzial_start2,liczba_rozdzial_koniec2=liczba_rozdzial_start4,liczba_rozdzial_koniec4;
else
liczba_rozdzial_start2,liczba_rozdzial_koniec2=nil,nil;
end;
end;
-----
local str_bibliografia=mw.ustring.sub(tekst,liczba_rozdzial_koniec+1,(liczba_rozdzial_start2 and (liczba_rozdzial_start2-1) or #tekst));
if((not str_bibliografia)or(str_bibliografia==""))then return tekst;end;
local tekst1=mw.ustring.sub(tekst,1,liczba_rozdzial_koniec);
local tekst2=liczba_rozdzial_start2 and mw.ustring.sub(tekst,liczba_rozdzial_start2,#tekst) or "";
-----
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local szablonowe_modul=require("Module:Szablonowe");
local techniczne_modul=require("Module:Techniczne");
str_bibliografia=mw.ustring.gsub(str_bibliografia,"([^\n]+)",function(linia)
local obiekt,kod,dalszy_tekst=mw.ustring.match(linia,"^[%*:;#<>]+%s*'*%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu().."([^\n]*)$");
if((obiekt)and(kod)and(dalszy_tekst))then
kod=tonumber(kod) or nil;
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((not czy_okladka)and(czy_element_spisu)and(numer_rodzaju_artykulu==1))then
return linia;
end;
end;
linia=dalszy_tekst or linia;
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,nil,tablica_analizy_obiektow_strony_dany_modul);
for szablon,obiekt,kod in iterator do
if(((tab_wzor[2])and((obiekt=="LINKW")or(obiekt=="LINKZ")))or(obiekt=="SZABLON"))then
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if(czy_element_spisu)then
return linia;
elseif(obiekt=="SZABLON")then
local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if((stronicowyparser_obiekty_modul.szablony_przypisowe[nazwa_szablonu])or(stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu]))then
return linia;
else
return "";
end;
end,nil,nil,nil,nil,nil,nil,nil,nil,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
return "";
end);
return wynik;
end;
end;
end;
return "";
end);
tekst=tekst1..str_bibliografia..tekst2;
end;
return tekst;
end;
function p.AnalizaSpisuRzeczy(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local czy_uruchomiony_analizator_spisu_rzeczy_strony=stronicowyparser_rozdzialy_modul.UruchamianieAnalizatoraSpisuRzeczyStrony();
if(not czy_uruchomiony_analizator_spisu_rzeczy_strony)then return nil;end;
----
local liczba_start=nil;local liczba_koniec=nil;
----
local szablonowe_modul=require("Module:Szablonowe");
local parametry_modul=require("Module:Parametry");
local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
-----
local szablon_normy_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu();
----
local liczba_obiekt_koniec=1;
local liczba_pierwszy_rozdzialowy_artykul=nil;
local liczba_nie_okladka_artykul=nil;
local tab_nazwa_spisow_przekierowaniowych={};
local liczba_start_rozdzial=1;
local liczba_obiekt_start_poprz=nil;
local liczba_obiekt_koniec_poprz=nil;
local liczba_nie_okladka_artykul_koniec=nil;
local wzor_szablonu_list="([%*:#;<>]*)([^%S\n]*)([^\n]-)[^%S\n]*[\'\"]*[^%S\n]*"..szablon_normy_kodowania_szablonu.."[^%S\n]*[\'\"]*[^%S\n]*([^\n]-)[^%S\n]*";
while(true)do
local liczba_start_szablon,liczba_koniec_szablon,lista_szablon,odstepy_poczatku_rozdzialu,przerwa_szablon,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,wzor_szablonu_list,liczba_obiekt_koniec,nil,false);
if(liczba_start_szablon)then
liczba_obiekt_koniec=liczba_koniec_szablon;
--local czy_rozdzial_dodatni=((lista_szablon=="")and(odstepy_poczatku_rozdzialu=="")and(mw.ustring.match(przerwa_szablon,"^=+")and(mw.ustring.match(dalszy_tekst,"=+%s*$"))));
local czy_rozdzial_dodatni;
local czy_dobry_obiekt=((obiekt_szablon=="SZABLON")or(obiekt_szablon=="LINKW")or(obiekt_szablon=="LINKZ"));
local czy_listy=((czy_dobry_obiekt)and(
(
(lista_szablon~="")and(
(przerwa_szablon=="")
or((mw.ustring.match(lista_szablon,"^:"))and((przerwa_szablon==">")or(przerwa_szablon=="<")))
or(not mw.ustring.match(lista_szablon,"^:"))
)
)
or((lista_szablon=="")and(przerwa_szablon=="")and(not mw.ustring.match(dalszy_tekst,"^>")))
));
czy_listy=czy_listy or ((czy_dobry_obiekt)and(lista_szablon=="")and(odstepy_poczatku_rozdzialu=="")and(mw.ustring.match(przerwa_szablon,"^=+")and(mw.ustring.match(dalszy_tekst,"=+%s*$"))));
local szablon;
if(not czy_listy)then
local obiekt=obiekt_szablon;local kod=tonumber(kod_szablon) or nil;
szablon,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu(obiekt,kod,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if(szablon)then czy_listy=true;end;
end;
if(czy_listy)then
local liczba_obiekt_start=liczba_start_szablon;
local obiekt=obiekt_szablon;
local kod=kod_szablon;
kod=tonumber(kod) or nil;
local szablon=szablon or tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
local czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((not czy_element_spisu)or(czy_okladka))then
local iterator=mw.ustring.gmatch(dalszy_tekst,szablon_normy_kodowania_szablonu)
local czy_element_spisu_temp;local numer_rodzaju_artykulu_temp;local czy_podrecznik_temp;local czy_okladka_temp;
local tak=false;
for obiekt,kod in iterator do
if((obiekt=="SZABLON")or(obiekt=="LINKW")or(obiekt=="LINKZ"))then
kod=tonumber(kod) or nil;
local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
czy_element_spisu_temp,numer_rodzaju_artykulu_temp,czy_podrecznik_temp,czy_okladka_temp=p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,false,true);
if((czy_element_spisu_temp)and(not czy_okladka_temp))then
if(numer_rodzaju_artykulu_temp==1)then
tak=true;
break;
end;
end;
end;
end;
if(tak)then
czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka=czy_element_spisu_temp,numer_rodzaju_artykulu_temp,czy_podrecznik_temp,czy_okladka_temp;
end;
end;
liczba_pierwszy_rozdzialowy_artykul=(not liczba_pierwszy_rozdzialowy_artykul)and(czy_element_spisu and liczba_obiekt_start or nil) or liczba_pierwszy_rozdzialowy_artykul;
liczba_nie_okladka_artykul=((not liczba_nie_okladka_artykul)and((czy_element_spisu)and(((numer_rodzaju_artykulu==1)and(not czy_okladka))or((numer_rodzaju_artykulu>=2)and((lista_szablon)and(lista_szablon~="") and (przerwa_szablon=="") and(dalszy_tekst=="")))))) and liczba_obiekt_start or liczba_nie_okladka_artykul;
liczba_nie_okladka_artykul_koniec=((not liczba_nie_okladka_artykul)and((czy_element_spisu)and(((numer_rodzaju_artykulu==1)and(not czy_okladka))or((numer_rodzaju_artykulu>=2)and((lista_szablon)and(lista_szablon~="") and (przerwa_szablon=="") and (dalszy_tekst=="")))))) and liczba_obiekt_koniec or liczba_nie_okladka_artykul_koniec;
----
if((czy_element_spisu)and(numer_rodzaju_artykulu==1)and(czy_podrecznik)and(not czy_okladka))then
local czy_bez_naglowka=nil;
local liczba_obiekt_start_nowe=liczba_nie_okladka_artykul or liczba_obiekt_start;
local liczba_obiekt_koniec_nowe=liczba_nie_okladka_artykul_koniec or liczba_obiekt_koniec;
local liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=nil,nil,nil,nil;
local czy_ten_rozdzial=true;
local liczba_obiekt_start_nowe_temp=liczba_obiekt_start_nowe;
local liczba_spis_tresci_start,liczba_spis_tresci_koniec,spis_naglowka_dodatni_start,spis_naglowka_dodatni_stare_start,poziom_naglowka_start=p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst_rozwiniety_calego_artykulu,liczba_obiekt_start_nowe,liczba_start_rozdzial,true,function(naglowek)
if(p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron(naglowek))then return true;end;
end,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
local czy_zeruj=(not liczba_spis_tresci_start)and true or false;
liczba_obiekt_start_nowe=liczba_spis_tresci_start or liczba_obiekt_start_nowe;
local tab_zmienne={
liczba_nie_okladka_artykul=liczba_nie_okladka_artykul,
liczba_pierwszy_rozdzialowy_artykul=liczba_pierwszy_rozdzialowy_artykul,
czy_ten_rozdzial=czy_ten_rozdzial,
};
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_nowe,czy_bez_naglowka,p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych));
liczba_nie_okladka_artykul,liczba_pierwszy_rozdzialowy_artykul,czy_ten_rozdzial=tab_zmienne.liczba_nie_okladka_artykul,tab_zmienne.liczba_pierwszy_rozdzialowy_artykul,tab_zmienne.czy_ten_rozdzial;
if(not czy_ten_rozdzial)then
if(liczba_obiekt_start~=liczba_obiekt_start_nowe_temp)then
liczba_start_rozdzial=liczba_obiekt_start_nowe_temp;
liczba_obiekt_start_nowe=liczba_obiekt_start;
czy_ten_rozdzial=true;
tab_zmienne.czy_ten_rozdzial=czy_ten_rozdzial;
liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start,czy_bez_naglowka,p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych));
liczba_nie_okladka_artykul,liczba_pierwszy_rozdzialowy_artykul,czy_ten_rozdzial=tab_zmienne.liczba_nie_okladka_artykul,tab_zmienne.liczba_pierwszy_rozdzialowy_artykul,tab_zmienne.czy_ten_rozdzial;
end;
end;
---- jest to pozycja nagłówka, która mówi, który nagłówek ma być pierwszy, czy ten od spisu treści, czy ten dalszy;
liczba_start_naglowek=(
(not liczba_spis_tresci_start)
or((liczba_spis_tresci_start)and(not poziom_naglowka_start)) -- nagłówek spisu tresci centrowany;
-- nagłówki oba dodatnie niecentrowane, oba ujemne lub ten pierwszy dodatni, a drugi ujemny, a pierwszy dodatni;
or((poziom_naglowka_start)and(poziom_naglowka))and(
((poziom_naglowka_start>0)and(poziom_naglowka<=0))
or((poziom_naglowka_start<=0)and(poziom_naglowka<=0)and(poziom_naglowka_start>=poziom_naglowka))
or((poziom_naglowka_start>0)and(poziom_naglowka>0)and(poziom_naglowka_start<=poziom_naglowka))
)
) and liczba_spis_tresci_start
or liczba_start_naglowek;
----
if(((not czy_okladka)or((czy_okladka)and(lista_szablon~=""))or(liczba_start_naglowek))and(czy_ten_rozdzial))then
----
czy_bez_naglowka=((not liczba_start_naglowek)or((liczba_obiekt_koniec_poprz or 1)<=(liczba_start_rozdzial or 1))) and true or false;
----
if(liczba_start_naglowek)then
local liczba_przed_rozdzialem;local czy_znajdz;
liczba_przed_rozdzialem,czy_znajdz=p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_start_naglowek);
local odtylu_dalej=--[[liczba_spis_tresci or]] liczba_start_naglowek;
local liczba_start_naglowek_przed=p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst_rozwiniety_calego_artykulu,odtylu_dalej,liczba_start_rozdzial,true,false,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
local liczba_przed=((liczba_start_naglowek_przed)and((liczba_przed_rozdzialem>=liczba_start_naglowek_przed)and liczba_przed_rozdzialem or liczba_spis_tresci) or liczba_przed_rozdzialem);
local czy_break;
liczba_start,czy_break=p.SzukanieSekcjiLinkowychLiniowychZakresowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_pierwszy_rozdzialowy_artykul,liczba_przed,liczba_start_naglowek_przed,czy_znajdz);
if(czy_break)then break;end;
else
local liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka=p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_nowe,2,czy_bez_naglowka,function(liczba_koniec_naglowek_nowe,liczba_obiekt_start_nowe)
if((liczba_koniec_naglowek_nowe)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek_nowe+1<=liczba_obiekt_start_nowe-1))then
local str=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_koniec_naglowek_nowe+1,liczba_obiekt_start_nowe-1);
str=mw.ustring.gsub(str,szablonowe_modul.NormaWzoruKodowaniaTekstu("SZABLON"),"");
if(not mw.ustring.match(str,"^%s*$"))then
return true;
end;
end;
return nil;
end);
if(liczba_start_naglowek)then
liczba_obiekt_start_nowe=liczba_start_naglowek;
end;
--[[]]
local liczba_przed_rozdzialem,czy_znajdz=p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_obiekt_start_nowe);
local czy_break;
liczba_start,czy_break=p.SzukanieSekcjiLinkowychLiniowychZakresowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,czy_bez_naglowka,liczba_pierwszy_rozdzialowy_artykul,liczba_przed_rozdzialem,nil,czy_znajdz);
if(czy_break)then break;end;
end;
break;
else
liczba_start_rozdzial=liczba_obiekt_koniec_nowe;
liczba_nie_okladka_artykul_koniec=nil;
end;
liczba_obiekt_koniec_poprz=((czy_element_spisu)and(numer_rodzaju_artykulu<=2)) and liczba_obiekt_koniec or liczba_obiekt_koniec_poprz;
else
liczba_obiekt_koniec_poprz=((czy_element_spisu)and(numer_rodzaju_artykulu<=2)) and liczba_obiekt_koniec or liczba_obiekt_koniec_poprz;
end;
end;
else
break;
end;
end;
if(not liczba_start)then return "";end;
local liczba_obiekt_start_od_tylu=#tekst_rozwiniety_calego_artykulu;
while(true)do
local liczba_start_szablon,liczba_koniec_szablon,linia,lista_szablon,przerwa_szablon,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"(([%*:#;<>]?)([^\n]-)"..szablon_normy_kodowania_szablonu.."([^\n]*))",liczba_obiekt_start_od_tylu,liczba_start,true);
----
if(liczba_start_szablon)then
liczba_obiekt_start_od_tylu=liczba_start_szablon;
local czy_dobry_obiekt=((obiekt_szablon=="SZABLON")or(obiekt_szablon=="LINKW")or(obiekt_szablon=="LINKZ"));
local czy_listy=(czy_dobry_obiekt)and((lista_szablon~="")or((lista_szablon=="")and(przerwa_szablon=="")));
local czy_listy=czy_listy or (czy_dobry_obiekt)and((lista_szablon=="")and(mw.ustring.match(przerwa_szablon,"^=+")and(mw.ustring.match(dalszy_tekst,"=+%s*$"))));
local szablon;
if(not czy_listy)then
local obiekt=obiekt_szablon;local kod=tonumber(kod_szablon) or nil;
szablon,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu(obiekt,kod,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if(szablon)then czy_listy=true;end;
end;
if(czy_listy)then
local liczba_obiekt_koniec=liczba_koniec_szablon;
local liczba_obiekt_start=liczba_start_szablon;
local obiekt=obiekt_szablon;
local kod=kod_szablon;
kod=tonumber(kod) or nil;
local szablon=szablon or tablica_analizy_obiektow_strony_dany_modul[obiekt][kod];
local czy_znalezione=nil;
if(liczba_start<=liczba_obiekt_start)then
czy_znalezione=p.SzukanieLinkuWeSzablonieOrazDalszymNapisie(obiekt,kod,linia,dalszy_tekst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,true,true);
end;
if(czy_znalezione)then
liczba_koniec=p.PoliczKoniecZakodowanegoTekstuArtykularnego(tekst_rozwiniety_calego_artykulu,liczba_obiekt_koniec,liczba_koniec);
break;
end;
end;
else
break;
end;
end;
if(liczba_koniec)then
local koniec_dodatnie_rozdzialy=#tekst_rozwiniety_calego_artykulu;
while(true)do
local liczba_rozdzial_start,liczba_rozdzial_koniec,rozdzial_nazwa,rozdzial=p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst_rozwiniety_calego_artykulu,koniec_dodatnie_rozdzialy,liczba_start,true,false,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if(liczba_rozdzial_start)and(liczba_rozdzial_start>=liczba_koniec)then
koniec_dodatnie_rozdzialy=liczba_rozdzial_start;
local czy_znalazles_linki=p.SzukajObiektuArtykularnegoWeElemencieTekstowym(rozdzial,szablon_normy_kodowania_szablonu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,true,true,true,true);
if(czy_znalazles_linki)then liczba_koniec=liczba_rozdzial_koniec;end;
else
break;
end;
end;
end;
if(not liczba_koniec)then return "";end;
if(liczba_start>=liczba_koniec)then return "";end;
--- Licencja ----
local licencja_koniec,szablon_licencja=p.KoniecStronyLicencja(tekst_rozwiniety_calego_artykulu,liczba_koniec,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if((licencja_koniec)and(licencja_koniec>=liczba_koniec))then
liczba_koniec=licencja_koniec;
end;
-----
local tekst=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_start,liczba_koniec);
-----
for _,tab_wzor in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe)do
tekst=p.KorygowanieTekstuSpisuRzeczy(tekst,tab_wzor,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych);
end;
--mw.log(tekst)
--- Licencja ----
--mw.log(liczba_start,liczba_koniec,"TYTANw",pelna_nazwa_spisu_tresci_szablonowa)
--mw.log("TYTAN1",tekst,"TYTAN2")
--return nil;
--local tekst=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_start,liczba_koniec);
--mw.log(tekst,"TYTAN123")
return tekst;
end;
return p;
8o6qq442j71gvgk9zbwzxhoswljaz2l
Szablon:Rozmieniarka/opis
10
60707
558127
539868
2026-09-30T18:51:29Z
Persino
2851
558127
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Rozmieniarka}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
== Opis parametrów ==
== Przykład ==
Przykładowe użycie w wikikodzie, używając pierwszy parametr jako {{Code|kwota}}, a następny, ile jest danego nominału dla danego numerka:
<syntaxhighlight lang=mediawiki>
{{Rozmieniarka|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->}}
</syntaxhighlight>
* Wynik: {{Rozmieniarka|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->}}
lub bezpośrednio używając parametry {{Code|kwota}} i nominałów:
<syntaxhighlight lang=mediawiki>
{{Rozmieniarka|kwota=123.45|10zł=2|0.2zł=5}}
</syntaxhighlight>
* Wynik: {{Rozmieniarka|kwota=123.45|10zł=2|0.2zł=5}}
lub inaczej:
<syntaxhighlight lang=mediawiki>
{{Rozmieniarka|kwota=123.45|10zł=2|20gr=5}}
</syntaxhighlight>
* Wynik: {{Rozmieniarka|kwota=123.45|10zł=2|20gr=5}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
</includeonly>
imn7y3cu8top9ydwaauo8ramjvdt0ss
558130
558127
2026-09-30T18:57:22Z
Persino
2851
558130
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Rozmieniarka}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
== Opis parametrów ==
== Przykład ==
Przykładowe użycie w wikikodzie, używając pierwszy parametr jako {{Code|kwota}}, a następny, ile jest danego nominału dla danego numerka:
<syntaxhighlight lang=mediawiki>
{{Rozmieniarka|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->}}
</syntaxhighlight>
* Wynik: {{Rozmieniarka|1=123.45|7=2<!-- nominał 10-->|12=5<!--nominał 0.2-->}}
lub bezpośrednio używając parametry {{Code|kwota}} i nominałów:
<syntaxhighlight lang=mediawiki>
{{Rozmieniarka|kwota=123.45|10zł=2|0.2zł=5}}
</syntaxhighlight>
* Wynik: {{Rozmieniarka|kwota=123.45|10zł=2|0.2zł=5}}
lub inaczej:
<syntaxhighlight lang=mediawiki>
{{Rozmieniarka|kwota=123.45|10zł=2|20gr=5}}
</syntaxhighlight>
* Wynik: {{Rozmieniarka|kwota=123.45|10zł=2|20gr=5}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony podręczników}}
</includeonly>
d8edw8w79hapjaa52pq1ivxhpxolwf7
Szablon:NawigacjaSpecjalna/Nawigacja/Pomoc:Spis treści
10
61114
558158
557596
2026-10-01T09:08:10Z
Persino
2851
558158
wikitext
text/x-wiki
<includeonly>{{Układ autonawigacji|krok={{{1}}}
|automat manualny=tak
|spis treści=Pomoc:Spis treści
|Pomoc:Spis treści|Pomoc - Spis treści
|Pomoc:Spis treści/Wstęp|Wstęp
|Wikibooks:Witamy nowicjuszy|Witamy nowicjuszy
|Wikibooks:Zasady i wskazówki|Zasady i wskazówki
|Wikibooks:Szybka pomoc|Szybka pomoc
|Wikibooks:Czym jest Wikibooks|Czym jest Wikibooks?
|Wikibooks:Różnice między Wikipedią i Wikibooks|Różnice między Wikipedią i Wikibooks
|Wikibooks:Dlaczego warto rozpocząć współpracę|Dlaczego warto rozpocząć współpracę?
|Wikibooks:Dlaczego używać wolnych podręczników|Dlaczego używać wolnych podręczników?
|Wikibooks:Dlaczego nie pisać na Wikibooks|Dlaczego nie pisać na Wikibooks?
|Wikibooks:Wikietykieta|Wikietykieta
|Pomoc:Wikietykieta|Wikietykieta
|Wikibooks:Neutralny punkt widzenia|Neutralny punkt widzenia
|Pomoc:Żargon użytkowników|Żargon użytkowników
|Wikibooks:Informacje prawne|Informacje prawne
|Wikibooks:Prawa autorskie|Prawa autorskie
|Pomoc:Spis treści/Edycja|Edycja
|Wikibooks:Brudnopis|Brudnopis
|Pomoc:Edycja kodu|Edycja kodu
|Wikibooks:Import stron|Import stron
|Wikibooks:Etapy rozwoju książek|Etapy rozwoju książek
|Wikibooks:Ilustracja Wikibooks|Ilustracja Wikibooks
|Pomoc:Jak edytować artykuły|Jak edytować artykuły?
|Wikibooks:Nazewnictwo artykułów|Nazewnictwo artykułów
|Pomoc:Podświetlanie składni|Podświetlanie składni
|Pomoc:Problemy z polskimi znakami|Problemy z polskimi znakami
|Pomoc:Quiz|Quiz
|Pomoc:Tworzenie podręcznika|Tworzenie podręcznika
|Wikibooks:Wandalizm|Wandalizm
|Wikibooks:Podręczniki do druku|Podręczniki do druku
|Pomoc:Tworzenie wersji do druku|Tworzenie wersji do druku
|Pomoc:Tworzenie wersji PDF|Tworzenie wersji PDF
|Pomoc:Tworzenie wersji PDF/javaLatex|Tworzenie wersji PDF/javaLatex
|Pomoc:Książki|Książki
|Pomoc:Spis treści/Wkład miesiąca|Wkład miesiąca
|Wikibooks:Wkład miesiąca/Aktualne głosowanie|Aktualne głosowanie
|Wikibooks:Wkład miesiąca/Wstęp|Wstęp
|Wikibooks:Wkład miesiąca/Regulamin|Regulamin
|Wikibooks:Wkład miesiąca/Nominacje|Nominacje
|Pomoc:Spis treści/Komunikacja|Komunikacja
|Wikibooks:Kanał IRC|Kanał IRC
|Wikibooks:Kontakt|Kontakt
|Wikibooks:Portal użytkowników|Portal użytkowników
|Pomoc:Archiwizowanie strony dyskusji|Archiwizowanie strony dyskusji
|Wikibooks:Przedstawicielstwo dyplomatyczne|Przedstawicielstwo dyplomatyczne
|Pomoc:Spis treści/Korzystanie z Wikibooks|Korzystanie z Wikibooks
|Wikibooks:Jak przeglądać Wikibooks|Jak przeglądać Wikibooks?
|Wikibooks:Księgozbiór|Księgozbiór
|Wikibooks:Księgozbiór/Wybrane|Księgozbiór - Wybrane
|Wikibooks:Księgozbiór/Alfabetycznie|Księgozbiór - Alfabetycznie
|Wikibooks:Księgozbiór/Tematycznie|Księgozbiór - Tematycznie
|Kategoria:Kategorie podręcznikowe|Księgozbiór - Według kategorii
|Wikibooks:Księgozbiór/Poziom|Księgozbiór - Według poziomu
|Wikibooks:Księgozbiór/Status|Księgozbiór - Według rozwoju
|Portal:Nauki ścisłe i przyrodnicze|Portal - Nauki ścisłe i przyrodnicze
|Portal:Informatyka|Portal - Informatyka
|Portal:Nauki techniczne|Portal - Nauki techniczne
|Portal:Nauki społeczne i humanistyczne|Portal - Nauki społeczne i humanistyczne
|Portal:Sport i rozrywka|Portal - Sport i rozrywka
|Portal:Hobby, poradniki i książki różne|Portal - Hobby, poradniki i książki różne
|Wikibooks:Promocja|Promocja
|Pomoc:Tryb ciemny|Tryb ciemny
|Pomoc:Spis treści/Historia Wikibooks|Historia Wikibooks
|Wikibooks:Historia Wikibooks|Historia Wikibooks
|Wikibooks:Piąte urodziny|Piąte urodziny
|Wikibooks:6. urodziny polskich Wikibooks|6. urodziny polskich Wikibooks
|Wikibooks:Wikikalendarz 2009|Wikikalendarz 2009
|Wikibooks:Sprzątanie Wikibooks|Sprzątanie Wikibooks
|Wikibooks:Sprzątanie Wikibooks/2009|Sprzątanie Wikibooks - 2009
|Wikibooks:Sprzątanie Wikibooks/2011|Sprzątanie Wikibooks - 2011
|Wikibooks:Statystyki|Statystyki
|Pomoc:Spis treści/Technikalia|Technikalia
|Wikibooks:Przestrzenie nazw|Przestrzenie nazw
|Wikibooks:Poczekalnia|Poczekalnia
|Wikibooks:Poczekalnia/naprawa|Poczekalnia - Naprawa
|Wikibooks:Poczekalnia/prowokacje|Poczekalnia - Prowokacje
|Wikibooks:Poczekalnia/artykuły|Poczekalnia - Artykuły
|Wikibooks:Poczekalnia/kwestie techniczne|Poczekalnia - Kwestie techniczne
|Wikibooks:Poczekalnia/Zgłoszenia|Poczekalnia - Zgłoszenia
|Wikibooks:Poczekalnia/Załatwione|Poczekalnia - Załatwione
|Wikibooks:VisualEditor|VisualEditor
|Pomoc:Nowa skórka – wektor|Nowa skórka – wektor
|Wikibooks:Skróty|Skróty
|Pomoc:Spis treści/Strona główna|Strona główna
|Pomoc:Spis treści/Wybrane książki|Wybrane książki
|Wikibooks:Mechanizm MediaWiki|Mechanizm MediaWiki
|Wikibooks:Szablony|Mechanizm MediaWiki - Szablony
|Wikibooks:Moduły|Mechanizm MediaWiki - Moduły
|Wikibooks:Moduły/Parametry|Moduł:Parametry
|Wikibooks:Moduły/Parametry/Tom I|Moduł:Parametry - Tom I
|Wikibooks:Moduły/Parametry/Tom II|Moduł:Parametry - Tom II
|Wikibooks:Moduły/Parametry/Tom III|Moduł:Parametry - Tom III
|Wikibooks:Moduły/Parametry/Tom IV|Moduł:Parametry - Tom IV
|Wikibooks:Moduły/Parametry/Tom V|Moduł:Parametry - Tom V
|Wikibooks:Moduły/Parametry/Tom VI|Moduł:Parametry - Tom VI
|Wikibooks:Moduły/Parametry/Tom VII|Moduł:Parametry - Tom VII
|Wikibooks:Moduły/Parametry/Tom VIII|Moduł:Parametry - Tom VIII
|Wikibooks:Moduły/Parametry/Tom IX|Moduł:Parametry - Tom IX
|Wikibooks:Moduły/Parametry/Tom X|Moduł:Parametry - Tom X
|Wikibooks:Moduły/Parametry/Tom XI|Moduł:Parametry - Tom XI
|Wikibooks:Moduły/Parametry/Tom XII|Moduł:Parametry - Tom XII
|Wikibooks:Moduły/Parametry/Tom XIII|Moduł:Parametry - Tom XIII
|Wikibooks:Moduły/Parametry/Tom XIV|Moduł:Parametry - Tom XIV
|Wikibooks:Moduły/Parametry/Tom XV|Moduł:Parametry - Tom XV
|Wikibooks:Moduły/Parametry/Tom XVI|Moduł:Parametry - Tom XVI
|Wikibooks:Moduły/Parametry/Tom XVII|Moduł:Parametry - Tom XVII
|Wikibooks:Moduły/Parametry/Tom XVIII|Moduł:Parametry - Tom XVIII
|Wikibooks:Moduły/Parametry/Tom XIX|Moduł:Parametry - Tom XIX
|Wikibooks:Moduły/Parametry/Tom XX|Moduł:Parametry - Tom XX
|Wikibooks:Moduły/Html|Moduł:Html
|Wikibooks:Moduły/Książkowe|Moduł:Książkowe
|Wikibooks:Moduły/Nazwy|Moduł:Nazwy
|Wikibooks:Moduły/Nazwy/Tom I|Moduł:Nazwy - Tom I
|Wikibooks:Moduły/Nazwy/Tom II|Moduł:Nazwy - Tom II
|Wikibooks:Moduły/Nazwy/Tom III|Moduł:Nazwy - Tom III
|Wikibooks:Moduły/Nazwy/Tom IV|Moduł:Nazwy - Tom IV
|Wikibooks:Moduły/Nazwy/Np|Moduł:Nazwy - Np
|Wikibooks:Moduły/Pudełko|Moduł:Pudełko
|Wikibooks:Moduły/Pudełko/Tom I|Moduł:Pudełko - Tom I
|Wikibooks:Moduły/Pudełko/Tom II|Moduł:Pudełko - Tom II
|Wikibooks:Moduły/Pudełko/Tom III|Moduł:Pudełko - Tom III
|Wikibooks:Moduły/Pudełko/Tom IV|Moduł:Pudełko - Tom IV
|Wikibooks:Moduły/Pudełko/Tom V|Moduł:Pudełko - Tom V
|Wikibooks:Moduły/Pudełko/Pomocne|Moduł:Pudełko - Pomocne
|Wikibooks:Moduły/Pudełko/Potrzebne|Moduł:Pudełko - Potrzebne
|Wikibooks:Moduły/Pudełko/ParametryCechy|Moduł:Pudełko - Parametry Cechy
|Wikibooks:Moduły/Ramka|Moduł:Ramka
|Wikibooks:Moduły/Specjalne|Moduł:Specjalne
|Wikibooks:Moduły/StronicowyParser|StronicowyParser
|Wikibooks:Moduły/StronicowyParser/Moduł główny|StronicowyParser - Moduł główny
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy|StronicowyParser - AnalizaSpisuRzeczy
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom I|StronicowyParser - AnalizaSpisuRzeczy - Tom I
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom II|StronicowyParser - AnalizaSpisuRzeczy - Tom II
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom III|StronicowyParser - AnalizaSpisuRzeczy - Tom III
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom IV|StronicowyParser - AnalizaSpisuRzeczy - Tom IV
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom V|StronicowyParser - AnalizaSpisuRzeczy - Tom V
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom VI|StronicowyParser - AnalizaSpisuRzeczy - Tom VI
|Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom VII|StronicowyParser - AnalizaSpisuRzeczy - Tom VII
|Wikibooks:Moduły/StronicowyParser/GłównaFunkcjaZbieraniaDanychStron|StronicowyParser - GłównaFunkcjaZbieraniaDanychStron
|Wikibooks:Moduły/StronicowyParser/Kategorie|StronicowyParser - Kategorie
|Wikibooks:Moduły/StronicowyParser/NumerLubNazwaArtykułówKsiążek|StronicowyParser - NumerLubNazwaArtykułówKsiążek
|Wikibooks:Moduły/StronicowyParser/NumerLubNazwaNagłówkówKsiążek|StronicowyParser - NumerLubNazwaNagłówkówKsiążek
|Wikibooks:Moduły/StronicowyParser/NumerObiektu|StronicowyParser - NumerObiektu
|Wikibooks:Moduły/StronicowyParser/NumeracjaObiektówStron|StronicowyParser - NumeracjaObiektówStron
|Wikibooks:Moduły/StronicowyParser/Potrzebne|StronicowyParser - Potrzebne
|Wikibooks:Moduły/StronicowyParser/Problemy|StronicowyParser - Problemy
|Wikibooks:Moduły/StronicowyParser/Rozdziały|StronicowyParser - Rozdziały
|Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom I|StronicowyParser - Rozdziały - Tom I
|Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom II|StronicowyParser - Rozdziały - Tom II
|Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom III|StronicowyParser - Rozdziały - Tom III
|Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom IV|StronicowyParser - Rozdziały - Tom IV
|Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom V|StronicowyParser - Rozdziały - Tom V
|Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom V/Część I|StronicowyParser - Rozdziały - Tom V - Część I
|Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom V/Część II|StronicowyParser - Rozdziały - Tom V - Część II
|Wikibooks:Moduły/StronicowyParser/SpisTreści|StronicowyParser - SpisTreści
|Wikibooks:Moduły/StronicowyParser/SpisTreści/Tom I|StronicowyParser - SpisTreści - Tom I
|Wikibooks:Moduły/StronicowyParser/SpisTreści/Tom II|StronicowyParser - SpisTreści - Tom II
|Wikibooks:Moduły/StronicowyParser/StronaSubst|StronicowyParser - StronaSubst
|Wikibooks:Moduły/StronicowyParser/Tekst|StronicowyParser - Tekst
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron|StronicowyParser - ZbieranieDanychStron
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne|StronicowyParser - ZbieranieDanychStron - Potrzebne
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I|StronicowyParser - ZbieranieDanychStron - Potrzebne - Tom I
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II|StronicowyParser - ZbieranieDanychStron - Potrzebne - Tom II
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom III|StronicowyParser - ZbieranieDanychStron - Potrzebne - Tom III
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV|StronicowyParser - ZbieranieDanychStron - Potrzebne - Tom IV
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom V|StronicowyParser - ZbieranieDanychStron - Potrzebne - Tom V
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Moduł główny|StronicowyParser - ZbieranieDanychStron
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I|StronicowyParser - ZbieranieDanychStron - Część I
|Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Moduł główny/Część II|StronicowyParser - ZbieranieDanychStron - Część II
|Wikibooks:Moduły/StronicowyParser/SzablonyTekstu|StronicowyParser - SzablonyTekstu
|Wikibooks:Moduły/StronicowyParser/informacje|StronicowyParser - informacje
|Wikibooks:Moduły/StronicowyParser/obiekty|StronicowyParser - obiekty
|Wikibooks:Moduły/Szeregi|Moduł:Szeregi
|Wikibooks:Moduły/Skrót|Moduł:Skrót
|Wikibooks:Moduły/Strony|Moduł:Strony
|Wikibooks:Moduły/Sekcja referencyjna|Moduł:Sekcja referencyjna
|Wikibooks:Szablony/Ogólne|Szablony - Ogólne
|Wikibooks:Szablony/Informacje|Szablony - Informacje
|Wikibooks:Szablony/PrzypisStrona|PrzypisStrona
|Wikibooks:Szablony/Podręcznikowe|Szablony - Podręcznikowe
|Wikibooks:Szablony/Książkowe|Szablony - Książkowe
|Wikibooks:Szablony/Tekst|Szablony - Tekst
|Wikibooks:Szablony/Zawartość|Szablony - Zawartość
|Wikibooks:Szablony/Nagłówki|Szablony - Nagłówki
|Wikibooks:Szablony/Przekierowania|Szablony - Przekierowania
|Wikibooks:Szablony/Języki|Szablony - Języki
|Wikibooks:Szablony/Liczby|Szablony - Liczby
|Wikibooks:Szablony/Kategorie|Szablony - Kategorie
|Wikibooks:Szablony/Opisy|Szablony - Opisy
|Wikibooks:Szablony/Znaczniki|Szablony - Znaczniki
|Wikibooks:Szablony/Szablony opływania|Szablony opływania
|Wikibooks:Szablony/Stronicowe|Szablony - Stronicowe
|Wikibooks:Szablony/Kontenerowe|Szablony - Kontenerowe
|Wikibooks:Szablony/Elastyczne|Szablony - Elastyczne
|Wikibooks:Szablony/Infoboksy/Prolog|Szablony - Infoboksy - Prolog
|Wikibooks:Szablony/Infoboksy/Tom I|Szablony - Infoboksy - Tom I
|Wikibooks:Szablony/Infoboksy/Tom II|Szablony - Infoboksy - Tom II
|Wikibooks:Szablony/Infoboksy/Tom III|Szablony - Infoboksy - Tom III
|Wikibooks:Szablony/Infoboksy/Tom IV|Szablony - Infoboksy - Tom IV
|Wikibooks:Szablony/Infoboksy/Tom V|Szablony - Infoboksy - Tom V
|Wikibooks:Szablony/Infoboksy/Tom VI|Szablony - Infoboksy - Tom VI
|Wikibooks:Szablony/Infoboksy/Komponenty|Szablony - Infoboksy - Komponenty
|Wikibooks:Szablony/Infoboksy/Komponenty (organizmy żywe)|Infoboksy - Komponenty (organizmy żywe)
|Wikibooks:Szablony/Porządkowe|Szablony - Porządkowe
|Wikibooks:Szablony/Źródła artykułów|Szablony - Źródła artykułów
|Wikibooks:Szablony/Linki|Szablony - Linki
|Wikibooks:Szablony/Linki inteligentne|Szablony - Linki inteligentne
|Wikibooks:Szablony/Do usunięcia|Szablony - Do usunięcia
|Wikibooks:Szablony/Nawigacja|Szablony - Nawigacja
|Wikibooks:Szablony/Media|Szablony - Media
|Wikibooks:Szablony/Grafika|Szablony - Grafika
|Wikibooks:Szablony/Licencjonowanie|Szablony - Licencjonowanie
|Wikibooks:Szablony/Techniczne|Szablony - Techniczne
|Wikibooks:Szablony/Wikipedysta|Szablony - Wikipedysta
|Wikibooks:Szablony/Dyskusja Wikipedysty|Szablony - Dyskusja Wikipedysty
|Wikibooks:Szablony/MediaWiki|Szablony - MediaWiki
|Wikibooks:Szablony/Systemowe|Szablony - Systemowe
|Pomoc:Spis treści/Szablony/Tom I|Szablony - Tom I
|Pomoc:Spis treści/Szablony/Tom II|Szablony - Tom II
|Pomoc:Spis treści/Szablony/Tom III|Szablony - Tom III
|Pomoc:Spis treści/Szablony/Tom IV|Szablony - Tom IV
|Pomoc:Spis treści/Administracja|Administracja
|Wikibooks:Kwestie techniczne|Kwestie techniczne
|Wikibooks:Wikipedyści potrzebujący pomocy|Wikipedyści potrzebujący pomocy
|Wikibooks:Zgłoś błąd (ZB)|Zgłoś błąd (ZB)
|Wikibooks:Lista Naruszeń Praw Autorskich (NPA)|Lista Naruszeń Praw Autorskich (NPA)
|Wikibooks:Administratorzy|Administratorzy
|Wikibooks:Prośby do administratorów|Prośby do administratorów
|Wikibooks:Administratorzy interfejsu|Administratorzy interfejsu
|Wikibooks:Prośby do administratorów interfejsu|Prośby do administratorów interfejsu
|Wikibooks:Biurokraci|Biurokraci
|Wikibooks:Boty|Boty
|Wikibooks:Stewardzi|Stewardzi
|Wikibooks:Użytkownicy|Użytkownicy
|Wikibooks:Automatycznie zatwierdzeni użytkownicy|Automatycznie zatwierdzeni użytkownicy
|Wikibooks:Zatwierdzeni użytkownicy|Zatwierdzeni użytkownicy
|Wikibooks:Przyznawanie uprawnień|Przyznawanie uprawnień
|Wikibooks:Nazwa użytkownika|Nazwa użytkownika
|Wikibooks:Prośby o zmianę nazwy użytkownika|Prośby o zmianę nazwy użytkownika
|Wikibooks:Uprawnieni do logowania się z zablokowanych adresów IP|Uprawnieni do logowania się z zablokowanych adresów IP
|Wikibooks:GNU Free Documentation License|GNU Free Documentation License
}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon manualny (ręczny), nie automatyczny, bo ustawiony za pomocą {{Parametr|automat manualny|tak}}, wskazujący poprzedni i następny artykuł pomocy oraz ich stronę główną, czyli spis po {{LinkPomoc2|Spis treści}}.}}{{Kategoria|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}</noinclude>
oaij56o31ob7qw0anizdhl29l9n4yha
Szablon:PrzypisStrona/opis
10
62171
558115
558011
2026-09-30T16:57:26Z
Persino
2851
558115
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Cytuj}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
; Dwa pierwsze parametry numerowane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}{{!(}}1{{)!}}|{{!(}}2{{)!}}|serwis{{=}}|...}}}}
; A tutaj nazwane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}podstrona{{=}}|nazwa{{=}}|serwis{{=}}|...}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|Szablony można definiować w oparciu o ten szablon, wsadzając do ich definicji w sekcji: {{Tag|includeonly}}, następujący kod:|{{DivLinia}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||Szablon: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, wywołuje funkcję ramkową: }}{{Code|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|{{m|Ramka|Szablon|Nazwa{{=}}{{ls|PrzypisStrona}}|adres{{=}}<podaj url strony>|dalsze parametry...}}|{{Wikikod|{{ROOTPAGENAME}}}}}}}}{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||.}}
Szablon: {{Tt|{{s|PrzypisStrona}}}}, wywołuje: {{Code|{{m|Cytuj}}}}, poprzez wywołanie: {{Code|{{s|Cytuj}}}}, a w nim jest uruchamiana ramka: {{Code|{{m|Cytuj|custom2}}}}, poprzez funkcję: {{Code|{{m|Cytuj|custom}}}}, aby ściągnąć parametry rodzica szablonu: {{Code|{{s|Cytuj}}}}.
Dalsze parametry szablonu: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, nie licząc powyższych, są takie same jak w szablonie {{s|Cytuj}}, bez parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, ponieważ w szablonie: {{s|PrzypisStrona}}, zostały one użyte do innych celów, definiując je w oparciu o parametry, które są wskazane we wnętrzu (definicji): {{s|PrzypisStrona}}, więc ich użycie spowoduje problem: {{Code|{{m|Sprawdź|Parametry}}}}.
== Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon ==
Oto jest przykład szablonu:
{{ŹródłoKodu|{{LuaSubst|Szablon:Pszcz Pasieka24}}}}
== Opis parametrów ==
Szablon posiada te same zmienne, co szablon {{s|Cytuj}} (przeczytaj jego dokumentację: {{s|Cytuj/opis}}), oprócz parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane w oparciu o dodatkowe parametry, jak {{Code|adres}}, {{Code|1}} (lub {{Code|podstrona}}), {{Code|2|}} (lub {{Code|nazwa}}). Innym parametrem jest: {{Code|serwis}}.
=== Opis parametrów dodatkowych ===
* {{Code|adres}} - parametr, którym jest adres strony, jak: '''https://www.pasieka24.pl/index.php/pl-pl/''' (ten parametr jest problematycczny, bo jest wbudowany w szablon przypisów, jedynie dla szablonu: {{s|PrzypisStrona}}, już tak nie jest),
* {{Code|1}} (lub {{Code|podstrona}}) - adres podstrony serwisu (konieczny),
* {{Code|2|}} (lub {{Code|nazwa}}) - nazwa linku utworzona z dwóch poprzednich parametrów (konieczny),
* {{Code|serwis}} - nazwa strony serwisu inna niż zmienna {{Code|adres}}, jak: '''https://www.pasieka24.pl''' (opcjonalny, dobrowolny).
----
Zmienna {{Code|adres}} lub ewentualnie {{Code|serwis}}, gdy ten parametr jest podany i jest on niepusty, za pomocą, których jest generowany parametr {{Parametr|praca}} w module {{m|Cytuj}}, i dlatego, które te zmienne nie wolno podawać, bo zostanie wywołany błąd funkcji: {{Code|{{m|Sprawdź|Parametry}}}}.
=== Parametry nieobsługiwane ===
Oto są parametry wywołujące błąd, czyli: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane poprzez inne zmienne. Patrz dlaczego, zajrzyj do kodu szablonu {{s|PrzypisStrona}}, a później do: {{s|Cytuj}}.
== Przykład ==
{{#ifeq:{{Szablon nie opis}}|PrzypisStrona|
; Kod
{{s|RN|{{s|PrzypisStrona|adres{{=}}https://panacea.pl|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{PrzypisStrona|adres=https://panacea.pl|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
|
; Kod
{{s|RN|{{s|{{Szablon nie opis}}|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{{{Szablon nie opis}}|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
; Szablony szablonów przypisów
* {{s|PrzypisStrona}} - kombajn, z którego mogą być zbudowane inne szablony cytowania w oparciu o szablon: {{Code|{{s|Cytuj}}}}, i w niej wywołany moduł: {{Code|{{ld2|Cytuj}}}}, a w niej funkcję: {{Code|{{m|Cytuj|custom2}}}}, zbudowaną w oparciu, w języku {{lpg|Lua}} w {{lpr|Lua|Sccribunto}}, o: {{Code|{{m|Cytuj|custom}}}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony podręczników}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona
|{{Wolumin|Napary}}{{Wolumin|Pszczelarstwo}}
|{{Wolumin|<!--
-->{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^(%a+)%s}}
| Pszcz = Pszczelarstwo
| Ziel = Napary
}}<!--
-->| dokumentacja = tak
| sortuj spacją =
}}}}
</includeonly>
14hrtjcmb6csgmmg2d02nepksg0rtem
558117
558115
2026-09-30T17:02:45Z
Persino
2851
558117
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Cytuj}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
; Dwa pierwsze parametry numerowane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}{{!(}}1{{)!}}|{{!(}}2{{)!}}|serwis{{=}}|...}}}}
; A tutaj nazwane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}podstrona{{=}}|nazwa{{=}}|serwis{{=}}|...}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|Szablony można definiować w oparciu o ten szablon, wsadzając do ich definicji w sekcji: {{Tag|includeonly}}, następujący kod:|{{DivLinia}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||Szablon: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, wywołuje funkcję ramkową: }}{{Code|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|{{m|Ramka|Szablon|Nazwa{{=}}{{ls|PrzypisStrona}}|adres{{=}}<podaj url strony>|dalsze parametry...}}|{{Wikikod|{{ROOTPAGENAME}}}}}}}}{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||.}}
Szablon: {{Tt|{{s|PrzypisStrona}}}}, wywołuje: {{Code|{{m|Cytuj}}}}, poprzez wywołanie: {{Code|{{s|Cytuj}}}}, a w nim jest uruchamiana ramka: {{Code|{{m|Cytuj|custom2}}}}, poprzez funkcję: {{Code|{{m|Cytuj|custom}}}}, aby ściągnąć parametry rodzica szablonu: {{Code|{{s|Cytuj}}}}.
Dalsze parametry szablonu: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, nie licząc powyższych, są takie same jak w szablonie {{s|Cytuj}}, bez parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, ponieważ w szablonie: {{s|PrzypisStrona}}, zostały one użyte do innych celów, definiując je w oparciu o parametry, które są wskazane we wnętrzu (definicji): {{s|PrzypisStrona}}, więc ich użycie spowoduje problem: {{Code|{{m|Sprawdź|Parametry}}}}.
== Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon ==
Oto jest przykład szablonu:
{{ŹródłoKodu|{{LuaSubst|Szablon:Pszcz Pasieka24}}}}
== Opis parametrów ==
Szablon posiada te same zmienne, co szablon {{s|Cytuj}} (przeczytaj jego dokumentację: {{s|Cytuj/opis}}), oprócz parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane w oparciu o dodatkowe parametry, jak {{Code|adres}}, {{Code|1}} (lub {{Code|podstrona}}), {{Code|2|}} (lub {{Code|nazwa}}). Innym parametrem jest: {{Code|serwis}}.
=== Opis parametrów dodatkowych ===
* {{Code|adres}} - parametr, którym jest adres strony, jak: '''https://www.pasieka24.pl/index.php/pl-pl/''' (ten parametr jest problematycczny, bo jest wbudowany w szablon przypisów, jedynie dla szablonu: {{s|PrzypisStrona}}, już tak nie jest),
* {{Code|1}} (lub {{Code|podstrona}}) - adres podstrony serwisu (konieczny),
* {{Code|2|}} (lub {{Code|nazwa}}) - nazwa linku utworzona z dwóch poprzednich parametrów (konieczny),
* {{Code|serwis}} - nazwa strony serwisu inna niż zmienna {{Code|adres}}, jak: '''https://www.pasieka24.pl''' (opcjonalny, dobrowolny).
----
Zmienna {{Code|adres}} lub ewentualnie {{Code|serwis}}, gdy ten parametr jest podany i jest on niepusty, za pomocą, których jest generowany parametr {{Parametr|praca}} w module {{m|Cytuj}}, i dlatego, które te zmienne nie wolno podawać, bo zostanie wywołany błąd funkcji: {{Code|{{m|Sprawdź|Parametry}}}}.
=== Parametry trybu ===
=== Parametry nieobsługiwane ===
Oto są parametry wywołujące błąd, czyli: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane poprzez inne zmienne. Patrz dlaczego, zajrzyj do kodu szablonu {{s|PrzypisStrona}}, a później do: {{s|Cytuj}}.
== Przykład ==
{{#ifeq:{{Szablon nie opis}}|PrzypisStrona|
; Kod
{{s|RN|{{s|PrzypisStrona|adres{{=}}https://panacea.pl|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{PrzypisStrona|adres=https://panacea.pl|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
|
; Kod
{{s|RN|{{s|{{Szablon nie opis}}|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{{{Szablon nie opis}}|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
; Szablony szablonów przypisów
* {{s|PrzypisStrona}} - kombajn, z którego mogą być zbudowane inne szablony cytowania w oparciu o szablon: {{Code|{{s|Cytuj}}}}, i w niej wywołany moduł: {{Code|{{ld2|Cytuj}}}}, a w niej funkcję: {{Code|{{m|Cytuj|custom2}}}}, zbudowaną w oparciu, w języku {{lpg|Lua}} w {{lpr|Lua|Sccribunto}}, o: {{Code|{{m|Cytuj|custom}}}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony podręczników}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona
|{{Wolumin|Napary}}{{Wolumin|Pszczelarstwo}}
|{{Wolumin|<!--
-->{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^(%a+)%s}}
| Pszcz = Pszczelarstwo
| Ziel = Napary
}}<!--
-->| dokumentacja = tak
| sortuj spacją =
}}}}
</includeonly>
2fm79yzy1eqjj6lwl3dn8aybf718zow
558118
558117
2026-09-30T17:05:50Z
Persino
2851
/* Parametry trybu */
558118
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Cytuj}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
; Dwa pierwsze parametry numerowane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}{{!(}}1{{)!}}|{{!(}}2{{)!}}|serwis{{=}}|...}}}}
; A tutaj nazwane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}podstrona{{=}}|nazwa{{=}}|serwis{{=}}|...}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|Szablony można definiować w oparciu o ten szablon, wsadzając do ich definicji w sekcji: {{Tag|includeonly}}, następujący kod:|{{DivLinia}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||Szablon: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, wywołuje funkcję ramkową: }}{{Code|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|{{m|Ramka|Szablon|Nazwa{{=}}{{ls|PrzypisStrona}}|adres{{=}}<podaj url strony>|dalsze parametry...}}|{{Wikikod|{{ROOTPAGENAME}}}}}}}}{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||.}}
Szablon: {{Tt|{{s|PrzypisStrona}}}}, wywołuje: {{Code|{{m|Cytuj}}}}, poprzez wywołanie: {{Code|{{s|Cytuj}}}}, a w nim jest uruchamiana ramka: {{Code|{{m|Cytuj|custom2}}}}, poprzez funkcję: {{Code|{{m|Cytuj|custom}}}}, aby ściągnąć parametry rodzica szablonu: {{Code|{{s|Cytuj}}}}.
Dalsze parametry szablonu: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, nie licząc powyższych, są takie same jak w szablonie {{s|Cytuj}}, bez parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, ponieważ w szablonie: {{s|PrzypisStrona}}, zostały one użyte do innych celów, definiując je w oparciu o parametry, które są wskazane we wnętrzu (definicji): {{s|PrzypisStrona}}, więc ich użycie spowoduje problem: {{Code|{{m|Sprawdź|Parametry}}}}.
== Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon ==
Oto jest przykład szablonu:
{{ŹródłoKodu|{{LuaSubst|Szablon:Pszcz Pasieka24}}}}
== Opis parametrów ==
Szablon posiada te same zmienne, co szablon {{s|Cytuj}} (przeczytaj jego dokumentację: {{s|Cytuj/opis}}), oprócz parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane w oparciu o dodatkowe parametry, jak {{Code|adres}}, {{Code|1}} (lub {{Code|podstrona}}), {{Code|2|}} (lub {{Code|nazwa}}). Innym parametrem jest: {{Code|serwis}}.
=== Opis parametrów dodatkowych ===
* {{Code|adres}} - parametr, którym jest adres strony, jak: '''https://www.pasieka24.pl/index.php/pl-pl/''' (ten parametr jest problematycczny, bo jest wbudowany w szablon przypisów, jedynie dla szablonu: {{s|PrzypisStrona}}, już tak nie jest),
* {{Code|1}} (lub {{Code|podstrona}}) - adres podstrony serwisu (konieczny),
* {{Code|2|}} (lub {{Code|nazwa}}) - nazwa linku utworzona z dwóch poprzednich parametrów (konieczny),
* {{Code|serwis}} - nazwa strony serwisu inna niż zmienna {{Code|adres}}, jak: '''https://www.pasieka24.pl''' (opcjonalny, dobrowolny).
----
Zmienna {{Code|adres}} lub ewentualnie {{Code|serwis}}, gdy ten parametr jest podany i jest on niepusty, za pomocą, których jest generowany parametr {{Parametr|praca}} w module {{m|Cytuj}}, i dlatego, które te zmienne nie wolno podawać, bo zostanie wywołany błąd funkcji: {{Code|{{m|Sprawdź|Parametry}}}}.
=== Parametry trybu ===
* {{Code|tryb}} - możliwe wartości, tylko niepuste, tzn.: {{Code|auto}}, {{Code|książkę}}, {{Code|pismo}}, {{Code|stronę}} i {{Code|patent}}.
=== Parametry nieobsługiwane ===
Oto są parametry wywołujące błąd, czyli: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane poprzez inne zmienne. Patrz dlaczego, zajrzyj do kodu szablonu {{s|PrzypisStrona}}, a później do: {{s|Cytuj}}.
== Przykład ==
{{#ifeq:{{Szablon nie opis}}|PrzypisStrona|
; Kod
{{s|RN|{{s|PrzypisStrona|adres{{=}}https://panacea.pl|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{PrzypisStrona|adres=https://panacea.pl|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
|
; Kod
{{s|RN|{{s|{{Szablon nie opis}}|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{{{Szablon nie opis}}|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
; Szablony szablonów przypisów
* {{s|PrzypisStrona}} - kombajn, z którego mogą być zbudowane inne szablony cytowania w oparciu o szablon: {{Code|{{s|Cytuj}}}}, i w niej wywołany moduł: {{Code|{{ld2|Cytuj}}}}, a w niej funkcję: {{Code|{{m|Cytuj|custom2}}}}, zbudowaną w oparciu, w języku {{lpg|Lua}} w {{lpr|Lua|Sccribunto}}, o: {{Code|{{m|Cytuj|custom}}}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony podręczników}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona
|{{Wolumin|Napary}}{{Wolumin|Pszczelarstwo}}
|{{Wolumin|<!--
-->{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^(%a+)%s}}
| Pszcz = Pszczelarstwo
| Ziel = Napary
}}<!--
-->| dokumentacja = tak
| sortuj spacją =
}}}}
</includeonly>
lr9tip5zdohejz0qw2kfnbsmkw8xq6e
558132
558118
2026-10-01T05:35:03Z
Persino
2851
558132
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Cytuj}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
; Dwa pierwsze parametry numerowane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}{{!(}}1{{)!}}|{{!(}}2{{)!}}|serwis{{=}}|...}}}}
; A tutaj nazwane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}podstrona{{=}}|nazwa{{=}}|serwis{{=}}|...}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|Szablony można definiować w oparciu o ten szablon, wsadzając do ich definicji w sekcji: {{Tag|includeonly}}, następujący kod:|{{DivLinia}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||Szablon: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, wywołuje funkcję ramkową: }}{{Code|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|{{m|Ramka|Szablon|Nazwa{{=}}{{ls|PrzypisStrona}}|adres{{=}}<podaj url strony>|dalsze parametry...}}|{{Wikikod|{{ROOTPAGENAME}}}}}}}}{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||.}}
Szablon: {{Tt|{{s|PrzypisStrona}}}}, wywołuje: {{Code|{{m|Cytuj}}}}, poprzez wywołanie: {{Code|{{s|Cytuj}}}}, a w nim jest uruchamiana ramka: {{Code|{{m|Cytuj|custom2}}}}, wywołująca funkcję: {{Code|{{m|Cytuj|custom}}}}, z dwoma parametrami, aby ściągnąć parametry rodzica szablonu: {{Code|{{s|Cytuj}}}}.
Dalsze parametry szablonu: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, nie licząc powyższych, są takie same jak w szablonie {{s|Cytuj}}, bez parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, ponieważ w szablonie: {{s|PrzypisStrona}}, zostały one użyte do innych celów, definiując je w oparciu o parametry, które są wskazane we wnętrzu (definicji): {{s|PrzypisStrona}}, więc ich użycie spowoduje problem: {{Code|{{m|Sprawdź|Parametry}}}}.
== Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon ==
Oto jest przykład szablonu:
{{ŹródłoKodu|{{LuaSubst|Szablon:Pszcz Pasieka24}}}}
== Opis parametrów ==
Szablon posiada te same zmienne, co szablon {{s|Cytuj}} (przeczytaj jego dokumentację: {{s|Cytuj/opis}}), oprócz parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane w oparciu o dodatkowe parametry, jak {{Code|adres}}, {{Code|1}} (lub {{Code|podstrona}}), {{Code|2|}} (lub {{Code|nazwa}}). Innym parametrem jest: {{Code|serwis}}.
=== Opis parametrów dodatkowych ===
* {{Code|adres}} - parametr, którym jest adres strony, jak: '''https://www.pasieka24.pl/index.php/pl-pl/''' (ten parametr jest problematycczny, bo jest wbudowany w szablon przypisów, jedynie dla szablonu: {{s|PrzypisStrona}}, już tak nie jest),
* {{Code|1}} (lub {{Code|podstrona}}) - adres podstrony serwisu (konieczny),
* {{Code|2|}} (lub {{Code|nazwa}}) - nazwa linku utworzona z dwóch poprzednich parametrów (konieczny),
* {{Code|serwis}} - nazwa strony serwisu inna niż zmienna {{Code|adres}}, jak: '''https://www.pasieka24.pl''' (opcjonalny, dobrowolny).
----
Zmienna {{Code|adres}} lub ewentualnie {{Code|serwis}}, gdy ten parametr jest podany i jest on niepusty, za pomocą, których jest generowany parametr {{Parametr|praca}} w module {{m|Cytuj}}, i dlatego, które te zmienne nie wolno podawać, bo zostanie wywołany błąd funkcji: {{Code|{{m|Sprawdź|Parametry}}}}.
=== Parametry trybu ===
* {{Code|tryb}} - możliwe wartości, tylko niepuste, tzn.: {{Code|auto}}, {{Code|książkę}}, {{Code|pismo}}, {{Code|stronę}} i {{Code|patent}}.
=== Parametry nieobsługiwane ===
Oto są parametry wywołujące błąd, czyli: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane poprzez inne zmienne. Patrz dlaczego, zajrzyj do kodu szablonu {{s|PrzypisStrona}}, a później do: {{s|Cytuj}}.
== Przykład ==
{{#ifeq:{{Szablon nie opis}}|PrzypisStrona|
; Kod
{{s|RN|{{s|PrzypisStrona|adres{{=}}https://panacea.pl|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{PrzypisStrona|adres=https://panacea.pl|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
|
; Kod
{{s|RN|{{s|{{Szablon nie opis}}|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{{{Szablon nie opis}}|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
; Szablony szablonów przypisów
* {{s|PrzypisStrona}} - kombajn, z którego mogą być zbudowane inne szablony cytowania w oparciu o szablon: {{Code|{{s|Cytuj}}}}, i w niej wywołany moduł: {{Code|{{ld2|Cytuj}}}}, a w niej funkcję: {{Code|{{m|Cytuj|custom2}}}}, zbudowaną w oparciu, w języku {{lpg|Lua}} w {{lpr|Lua|Sccribunto}}, o: {{Code|{{m|Cytuj|custom}}}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony podręczników}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona
|{{Wolumin|Napary}}{{Wolumin|Pszczelarstwo}}
|{{Wolumin|<!--
-->{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^(%a+)%s}}
| Pszcz = Pszczelarstwo
| Ziel = Napary
}}<!--
-->| dokumentacja = tak
| sortuj spacją =
}}}}
</includeonly>
8qem09lqqlkdaoatpjasprgrg7xmwu5
558133
558132
2026-10-01T05:36:33Z
Persino
2851
558133
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Cytuj}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
; Dwa pierwsze parametry numerowane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}{{!(}}1{{)!}}|{{!(}}2{{)!}}|serwis{{=}}|...}}}}
; A tutaj nazwane
{{Pre|{{s|{{ROOTPAGENAME}}|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|adres{{=}}{{!}}}}podstrona{{=}}|nazwa{{=}}|serwis{{=}}|...}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|Szablony można definiować w oparciu o ten szablon, wsadzając do ich definicji w sekcji: {{Tag|includeonly}}, następujący kod:|{{DivLinia}}}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||Szablon: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, wywołuje funkcję ramkową: }}{{Code|{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona|{{m|Ramka|Szablon|Nazwa{{=}}{{ls|PrzypisStrona}}|adres{{=}}<podaj url strony>|dalsze parametry...}}|{{Wikikod|{{ROOTPAGENAME}}}}}}}}{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona||.}}
Szablon: {{Tt|{{s|PrzypisStrona}}}}, wywołuje: {{Code|{{m|Cytuj}}}}, poprzez wywołanie: {{Code|{{s|Cytuj}}}}, a w nim jest uruchamiana ramka: {{Code|{{m|Cytuj|custom2}}}}, wywołująca funkcję: {{Code|{{m|Cytuj|custom}}}}, z dwoma parametrami, aby ściągnąć parametry tego szablonu (rodzica).
Dalsze parametry szablonu: {{Tt|{{s|{{ROOTPAGENAME}}}}}}, nie licząc powyższych, są takie same jak w szablonie {{s|Cytuj}}, bez parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, ponieważ w szablonie: {{s|PrzypisStrona}}, zostały one użyte do innych celów, definiując je w oparciu o parametry, które są wskazane we wnętrzu (definicji): {{s|PrzypisStrona}}, więc ich użycie spowoduje problem: {{Code|{{m|Sprawdź|Parametry}}}}.
== Jak tworzyć szablony szczególne szablonu {{s|PrzypisStrona}}, w oparciu o ten szablon ==
Oto jest przykład szablonu:
{{ŹródłoKodu|{{LuaSubst|Szablon:Pszcz Pasieka24}}}}
== Opis parametrów ==
Szablon posiada te same zmienne, co szablon {{s|Cytuj}} (przeczytaj jego dokumentację: {{s|Cytuj/opis}}), oprócz parametrów: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane w oparciu o dodatkowe parametry, jak {{Code|adres}}, {{Code|1}} (lub {{Code|podstrona}}), {{Code|2|}} (lub {{Code|nazwa}}). Innym parametrem jest: {{Code|serwis}}.
=== Opis parametrów dodatkowych ===
* {{Code|adres}} - parametr, którym jest adres strony, jak: '''https://www.pasieka24.pl/index.php/pl-pl/''' (ten parametr jest problematycczny, bo jest wbudowany w szablon przypisów, jedynie dla szablonu: {{s|PrzypisStrona}}, już tak nie jest),
* {{Code|1}} (lub {{Code|podstrona}}) - adres podstrony serwisu (konieczny),
* {{Code|2|}} (lub {{Code|nazwa}}) - nazwa linku utworzona z dwóch poprzednich parametrów (konieczny),
* {{Code|serwis}} - nazwa strony serwisu inna niż zmienna {{Code|adres}}, jak: '''https://www.pasieka24.pl''' (opcjonalny, dobrowolny).
----
Zmienna {{Code|adres}} lub ewentualnie {{Code|serwis}}, gdy ten parametr jest podany i jest on niepusty, za pomocą, których jest generowany parametr {{Parametr|praca}} w module {{m|Cytuj}}, i dlatego, które te zmienne nie wolno podawać, bo zostanie wywołany błąd funkcji: {{Code|{{m|Sprawdź|Parametry}}}}.
=== Parametry trybu ===
* {{Code|tryb}} - możliwe wartości, tylko niepuste, tzn.: {{Code|auto}}, {{Code|książkę}}, {{Code|pismo}}, {{Code|stronę}} i {{Code|patent}}.
=== Parametry nieobsługiwane ===
Oto są parametry wywołujące błąd, czyli: {{Code|url}}, {{Code|tytuł}} i {{Code|praca}}, bo one zostały zdefiniowane poprzez inne zmienne. Patrz dlaczego, zajrzyj do kodu szablonu {{s|PrzypisStrona}}, a później do: {{s|Cytuj}}.
== Przykład ==
{{#ifeq:{{Szablon nie opis}}|PrzypisStrona|
; Kod
{{s|RN|{{s|PrzypisStrona|adres{{=}}https://panacea.pl|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{PrzypisStrona|adres=https://panacea.pl|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
|
; Kod
{{s|RN|{{s|{{Szablon nie opis}}|podstrona{{=}}96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor{{=}}Piotr Nowotnik|nazwa{{=}}Apiguard – ratunek w tymolu?|numer{{=}}6/2013}}}}
; Wynik
{{RN|{{{{Szablon nie opis}}|podstrona=96-pasieka-6-2013/396-apiguard-ratunek-w-tymolu|autor=Piotr Nowotnik|nazwa=Apiguard – ratunek w tymolu?|numer= 6/2013}}}}
{{OpakujKategorieZeSortowaniem|{{Przypisy}}}}
}}
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
}
}
</templatedata>
== Zobacz też ==
; Szablony szablonów przypisów
* {{s|PrzypisStrona}} - kombajn, z którego mogą być zbudowane inne szablony cytowania w oparciu o szablon: {{Code|{{s|Cytuj}}}}, i w niej wywołany moduł: {{Code|{{ld2|Cytuj}}}}, a w niej funkcję: {{Code|{{m|Cytuj|custom2}}}}, zbudowaną w oparciu, w języku {{lpg|Lua}} w {{lpr|Lua|Sccribunto}}, o: {{Code|{{m|Cytuj|custom}}}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony podręczników}}
{{#ifeq:{{ROOTPAGENAME}}|PrzypisStrona
|{{Wolumin|Napary}}{{Wolumin|Pszczelarstwo}}
|{{Wolumin|<!--
-->{{#switch:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^(%a+)%s}}
| Pszcz = Pszczelarstwo
| Ziel = Napary
}}<!--
-->| dokumentacja = tak
| sortuj spacją =
}}}}
</includeonly>
kdl92frzgbjv2gdowkfbt88ysljzktx
Moduł:Szeregi
828
63011
558123
542720
2026-09-30T18:10:52Z
Persino
2851
558123
Scribunto
text/plain
local p={};
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)
local stronicowyparser_analizaspisurzeczy_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=stronicowyparser_analizaspisurzeczy_modul.SzukanieNaPodstawieWzoru(szereg,wzor,numer,#szereg,false);
if((not numer_a)or(not numer_b))then return nil;end;
local tak;local ile;
if(funkcja_wzor)then
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
else
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
end;
if(tak)then
numer=numer_a+(ile or 1);
return p.WyszukiwanieNaPodstawieWzorca(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor);
end;
return numer_a,numer_b,a,b,c,d,e,f,g,h,i;
end;
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)
local wynik={};
local numer_begin=0;
local czy=true;
local __wzor;
local ile_wyszukan=0;
local licznik_wzor=nil;
while(true)do
numer_begin=numer_begin+1;
if((funkcja_wzor)and(czy))then
licznik_wzor=licznik_wzor or 1;
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
__wzor=__wzor or wzor;
elseif(czy)then
__wzor=wzor;
czy=false;
end;
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=p.WyszukiwanieNaPodstawieWzorca(szereg,__wzor,numer_begin,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor);
if((numer_a)and(numer_b)and(numer_a<=numer_b)and(numer_a>=numer_begin))then
if(numer_a>1)then
table.insert(wynik,mw.ustring.sub(szereg,numer_begin,numer_a-1));
end;
local ciag;
if(funkcja_wzor)then ciag=funkcja_zamiana(licznik_wzor,a,b,c,d,e,f,g,h,i); else ciag=funkcja_zamiana(a,b,c,d,e,f,g,h,i);end;
if(ciag)then
table.insert(wynik,ciag);
else
table.insert(wynik,mw.ustring.sub(szereg,numer_a,numer_b));
end;
numer_begin=numer_b;
ile_wyszukan=ile_wyszukan+1;
else
if(funkcja_wzor)then
if(not czy)then
break;
else
numer_begin=numer_begin-1;
if(funkcja_licznik)then
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
else
licznik_wzor=licznik_wzor+1;
end;
end;
else
break;
end;
end;
end;
local dlugosc=mw.ustring.len(szereg);
if(dlugosc>=numer_begin)then
table.insert(wynik,mw.ustring.sub(szereg,numer_begin,dlugosc));
end;
return table.concat(wynik,""),ile_wyszukan;
end;
function p.IteratorLiniiTekstu(tekst)
local poczatek=true;
local zakonczone=false;
local iterator=nil;
----
return function()
if(not zakonczone)then
if(poczatek)then
local str=mw.ustring.match(tekst,"^([^\n]*)");
poczatek=false;
return str;
else
iterator=iterator or mw.ustring.gmatch(tekst,"\n([^\n]*)");
local wartosc=iterator();
if(not wartosc)then zakonczone=true;end;
return wartosc;
end;
else
return nil;
end;
end;
end;
function p.ZamianaZnakowaLinii(szereg,funkcja)
local tab_tekst={};
local iter_main=p.IteratorLiniiTekstu(szereg);
for linia in iter_main do
linia=funkcja(linia) or linia;
table.insert(tab_tekst,linia);
end;
return table.concat(tab_tekst,"\n");
end;
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)
if(not normalnie)then
tekst=funkcja and funkcja(tekst) or tekst;
return tekst;
end;
local ile1;local pozycja1;local pozycja2=0;
local tab_str={};
local pozycja_temp;
wzor="(.-)"..wzor;
while(true)do
local ciag;local kod_1;local kod_2;local kod_3;local kod_4;local kod_5;local kod_6;local kod_7;local kod_8;
pozycja1,pozycja2,ciag,kod_1,kod_2,kod_3,kod_4,kod_5,kod_6,kod_7,kod_8=mw.ustring.find(tekst,wzor,pozycja2+1);
if((pozycja1)and(pozycja2)and(pozycja1<pozycja2))then
pozycja_temp=pozycja2;
ciag=funkcja and funkcja(ciag) or ciag;
ciag=ciag..(funkcja2 and funkcja2(kod_1,kod_2,kod_3,kod_4,kod_5,kod_6,kod_7,kod_8) or kod_1 or "");
table.insert(tab_str,ciag);
else
break;
end;
end;
pozycja_temp=pozycja_temp or 0;
local pozycja1,pozycja2,ciag=mw.ustring.find(tekst,"(.-)$",pozycja_temp+1);
if((pozycja1)and(pozycja2)and(pozycja1<=pozycja2))then
ciag=funkcja and funkcja(ciag) or ciag;
table.insert(tab_str,ciag);
end;
local str=table.concat(tab_str,"");
return str;
end;
return p;
9ka0i9yldy3zzm31t97n5ybfw4eu1hj
558124
558123
2026-09-30T18:26:45Z
Persino
2851
558124
Scribunto
text/plain
local p={};
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)
local stronicowyparser_analizaspisurzeczy_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=stronicowyparser_analizaspisurzeczy_modul.SzukanieNaPodstawieWzoru(szereg,wzor,numer,#szereg,false);
if((not numer_a)or(not numer_b))then return nil;end;
local tak;local ile;
if(funkcja_wzor)then
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
else
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
end;
if(tak)then
numer=numer_a+(ile or 1);
return p.WyszukiwanieNaPodstawieWzorca(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor);
end;
return numer_a,numer_b,a,b,c,d,e,f,g,h,i;
end;
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)
local wynik={};
local numer_begin=0;
local czy=true;
local __wzor;
local ile_wyszukan=0;
local licznik_wzor=nil;
while(true)do
numer_begin=numer_begin+1;
if((funkcja_wzor)and(czy))then
licznik_wzor=licznik_wzor or 1;
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
__wzor=__wzor or wzor;
elseif(czy)then
__wzor=wzor;
czy=false;
end;
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=p.WyszukiwanieNaPodstawieWzorca(szereg,__wzor,numer_begin,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor);
if((numer_a)and(numer_b)and(numer_a<=numer_b)and(numer_a>=numer_begin))then
if(numer_a>1)then
table.insert(wynik,mw.ustring.sub(szereg,numer_begin,numer_a-1));
end;
local ciag;
if(funkcja_wzor)then ciag=funkcja_zamiana(licznik_wzor,a,b,c,d,e,f,g,h,i); else ciag=funkcja_zamiana(a,b,c,d,e,f,g,h,i);end;
if(ciag)then
table.insert(wynik,ciag);
else
table.insert(wynik,mw.ustring.sub(szereg,numer_a,numer_b));
end;
numer_begin=numer_b;
ile_wyszukan=ile_wyszukan+1;
else
if(funkcja_wzor)then
if(not czy)then
break;
else
numer_begin=numer_begin-1;
if(funkcja_licznik)then
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
else
licznik_wzor=licznik_wzor+1;
end;
end;
else
break;
end;
end;
end;
local dlugosc=mw.ustring.len(szereg);
if(dlugosc>=numer_begin)then
table.insert(wynik,mw.ustring.sub(szereg,math.max(numer_begin,1),math.max(dlugosc,1)));
end;
return table.concat(wynik,""),ile_wyszukan;
end;
function p.IteratorLiniiTekstu(tekst)
local poczatek=true;
local zakonczone=false;
local iterator=nil;
----
return function()
if(not zakonczone)then
if(poczatek)then
local str=mw.ustring.match(tekst,"^([^\n]*)");
poczatek=false;
return str;
else
iterator=iterator or mw.ustring.gmatch(tekst,"\n([^\n]*)");
local wartosc=iterator();
if(not wartosc)then zakonczone=true;end;
return wartosc;
end;
else
return nil;
end;
end;
end;
function p.ZamianaZnakowaLinii(szereg,funkcja)
local tab_tekst={};
local iter_main=p.IteratorLiniiTekstu(szereg);
for linia in iter_main do
linia=funkcja(linia) or linia;
table.insert(tab_tekst,linia);
end;
return table.concat(tab_tekst,"\n");
end;
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)
if(not normalnie)then
tekst=funkcja and funkcja(tekst) or tekst;
return tekst;
end;
local ile1;local pozycja1;local pozycja2=0;
local tab_str={};
local pozycja_temp;
wzor="(.-)"..wzor;
while(true)do
local ciag;local kod_1;local kod_2;local kod_3;local kod_4;local kod_5;local kod_6;local kod_7;local kod_8;
pozycja1,pozycja2,ciag,kod_1,kod_2,kod_3,kod_4,kod_5,kod_6,kod_7,kod_8=mw.ustring.find(tekst,wzor,pozycja2+1);
if((pozycja1)and(pozycja2)and(pozycja1<pozycja2))then
pozycja_temp=pozycja2;
ciag=funkcja and funkcja(ciag) or ciag;
ciag=ciag..(funkcja2 and funkcja2(kod_1,kod_2,kod_3,kod_4,kod_5,kod_6,kod_7,kod_8) or kod_1 or "");
table.insert(tab_str,ciag);
else
break;
end;
end;
pozycja_temp=pozycja_temp or 0;
local pozycja1,pozycja2,ciag=mw.ustring.find(tekst,"(.-)$",pozycja_temp+1);
if((pozycja1)and(pozycja2)and(pozycja1<=pozycja2))then
ciag=funkcja and funkcja(ciag) or ciag;
table.insert(tab_str,ciag);
end;
local str=table.concat(tab_str,"");
return str;
end;
return p;
k7f4ou5s8i662y6hl2gmbxfjxc6x5mn
558125
558124
2026-09-30T18:28:56Z
Persino
2851
558125
Scribunto
text/plain
local p={};
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)
local stronicowyparser_analizaspisurzeczy_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=stronicowyparser_analizaspisurzeczy_modul.SzukanieNaPodstawieWzoru(szereg,wzor,numer,#szereg,false);
if((not numer_a)or(not numer_b))then return nil;end;
local tak;local ile;
if(funkcja_wzor)then
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
else
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
end;
if(tak)then
numer=numer_a+(ile or 1);
return p.WyszukiwanieNaPodstawieWzorca(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor);
end;
return numer_a,numer_b,a,b,c,d,e,f,g,h,i;
end;
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)
local wynik={};
local numer_begin=0;
local czy=true;
local __wzor;
local ile_wyszukan=0;
local licznik_wzor=nil;
while(true)do
numer_begin=numer_begin+1;
if((funkcja_wzor)and(czy))then
licznik_wzor=licznik_wzor or 1;
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
__wzor=__wzor or wzor;
elseif(czy)then
__wzor=wzor;
czy=false;
end;
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=p.WyszukiwanieNaPodstawieWzorca(szereg,__wzor,numer_begin,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor);
if((numer_a)and(numer_b)and(numer_a<=numer_b)and(numer_a>=numer_begin))then
if(numer_a>1)then
table.insert(wynik,mw.ustring.sub(szereg,numer_begin,numer_a-1));
end;
local ciag;
if(funkcja_wzor)then ciag=funkcja_zamiana(licznik_wzor,a,b,c,d,e,f,g,h,i); else ciag=funkcja_zamiana(a,b,c,d,e,f,g,h,i);end;
if(ciag)then
table.insert(wynik,ciag);
else
table.insert(wynik,mw.ustring.sub(szereg,numer_a,numer_b));
end;
numer_begin=numer_b;
ile_wyszukan=ile_wyszukan+1;
else
if(funkcja_wzor)then
if(not czy)then
break;
else
numer_begin=numer_begin-1;
if(funkcja_licznik)then
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
else
licznik_wzor=licznik_wzor+1;
end;
end;
else
break;
end;
end;
end;
local dlugosc=mw.ustring.len(szereg);
if((dlugosc>0)and(dlugosc>=numer_begin))then
table.insert(wynik,mw.ustring.sub(szereg,math.max(numer_begin,1),math.max(dlugosc,1)));
end;
return table.concat(wynik,""),ile_wyszukan;
end;
function p.IteratorLiniiTekstu(tekst)
local poczatek=true;
local zakonczone=false;
local iterator=nil;
----
return function()
if(not zakonczone)then
if(poczatek)then
local str=mw.ustring.match(tekst,"^([^\n]*)");
poczatek=false;
return str;
else
iterator=iterator or mw.ustring.gmatch(tekst,"\n([^\n]*)");
local wartosc=iterator();
if(not wartosc)then zakonczone=true;end;
return wartosc;
end;
else
return nil;
end;
end;
end;
function p.ZamianaZnakowaLinii(szereg,funkcja)
local tab_tekst={};
local iter_main=p.IteratorLiniiTekstu(szereg);
for linia in iter_main do
linia=funkcja(linia) or linia;
table.insert(tab_tekst,linia);
end;
return table.concat(tab_tekst,"\n");
end;
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)
if(not normalnie)then
tekst=funkcja and funkcja(tekst) or tekst;
return tekst;
end;
local ile1;local pozycja1;local pozycja2=0;
local tab_str={};
local pozycja_temp;
wzor="(.-)"..wzor;
while(true)do
local ciag;local kod_1;local kod_2;local kod_3;local kod_4;local kod_5;local kod_6;local kod_7;local kod_8;
pozycja1,pozycja2,ciag,kod_1,kod_2,kod_3,kod_4,kod_5,kod_6,kod_7,kod_8=mw.ustring.find(tekst,wzor,pozycja2+1);
if((pozycja1)and(pozycja2)and(pozycja1<pozycja2))then
pozycja_temp=pozycja2;
ciag=funkcja and funkcja(ciag) or ciag;
ciag=ciag..(funkcja2 and funkcja2(kod_1,kod_2,kod_3,kod_4,kod_5,kod_6,kod_7,kod_8) or kod_1 or "");
table.insert(tab_str,ciag);
else
break;
end;
end;
pozycja_temp=pozycja_temp or 0;
local pozycja1,pozycja2,ciag=mw.ustring.find(tekst,"(.-)$",pozycja_temp+1);
if((pozycja1)and(pozycja2)and(pozycja1<=pozycja2))then
ciag=funkcja and funkcja(ciag) or ciag;
table.insert(tab_str,ciag);
end;
local str=table.concat(tab_str,"");
return str;
end;
return p;
qz4jx2tohqvf1defmz02gjuxx2xcnq7
Szablon:Ref/opis/Zobacz też
10
63105
558110
544295
2026-09-30T13:15:58Z
Persino
2851
558110
wikitext
text/x-wiki
<includeonly>
; Szablony przypisów{{dk}}
* {{s|Przypisy}} - szablon przypisów bibliograficznych,
* {{s|Uwagi}} - szablon przypisów rzeczowych,
* {{s|Przypisy-lista}} - szablon zarówno do przypisów bibliograficznych jak do przypisów rzeczowych dla każdego takiego przypadku z osobna.
; Szablony potrzebne do tego szablonu{{dk}}
* {{s|Przypiswiki}} - szablon potrzebny do tego w postaci: {{s|o|n{{=}}nazwa referencji|r{{=}}{{s|Przypiswiki|Tekst referencji}}}}.
; Szablony ogólne referencji{{dk}}
* {{s|Ref}} (jego skrót: {{s|o}}) - szablon referencji uwzględniający, nazwę i zawartość, referencji,
* {{s|Refn}} (jego skrót: {{s|rn}}) - szablon referencji, analogiczny do {{s|Ref}}, do wstawiania w referencje.
; Szablony do tworzenia nazw i zawartości referencji do przypisów (zobacz{{Nowiki|:}} {{s|Przypisy}}) i uwag (zobacz{{Nowiki|:}} {{s|Uwagi}}), a także dla tych obu {{s|Przypisy-lista}} z osobna{{dk}}
;; Szablony nazw referencji{{dk}}
* {{s|r}} - szablon nazw referencji do przypisów uwzględniający tylko nazwy,
* {{s|u}} - szablon nazw referencji do uwag uwzględniający tylko nazwy.
;; Szablony referencji zawartości{{dk}}
* {{s|RNota}} (jego skrót: {{s|RN}}) - szablony zawartości referencji nienazwane posiadające tylko zawartość,
* {{s|UNota}} (jego skrót:{{s|UN}}) - szablony zawartości referencji nienazwane uwag uwzględniające tylko zawartość.
; Artykuły{{dk}}
* {{lpp2|Przypisy}}<!---
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Ref}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
48v8l5fl6l3do6xgkdkpurw3tv02a9x
Wikibooks:Moduły/Szeregi
4
63251
558160
542729
2026-10-01T09:26:52Z
Persino
2851
/* {{Śródtytuł|WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} */
558160
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach {{Code|{{sr|#p.WyszukiwanieNaPodstawieWzorca|p=Szeregi}}}}, {{Code|{{sr|#p.ZamianaZnakowaSzeregu|p=Szeregi}}}}, {{Code|{{sr|#p.IteratorLiniiTekstu|p=Szeregi}}}} i {{Code|{{sr|#p.ZamianaZnakowaLinii|p=Szeregi}}}}.
== {{Śródtytuł|WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - jak w: {{LinkPatrz|szereg}},
* {{Code|wzor}} - jak w: {{LinkPatrz|wzor}},
* {{Code|numer}} - numer, od którego ma rozpocząc wyszukiwanie,
* {{Code|funkcja_sprawdzanie_wyszukania}} - jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}},
* {{Code|funkcja_wzor}} - jak w: {{LinkPatrz|funkcja_wzor}},
* {{Code|licznik_wzor}} - licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
* {{Code|numer_a}} - początek wyszukania,
* {{Code|numer_b}} - koniec wyszukania,
* {{Code|zawartosc}} i {{Code|dalej}} - zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} {{Patrz|szereg}} - szeregi (ciąg znakowy) do przeanalizowania i przetworzenia,
* {{Code|wzor}} {{Patrz|wzor}} - wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów,
* {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} - sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu,
* {{Code|funkcja_zamiana}} - funkcja robiąca operacje na wydzielonych ciagach znakowych,
* {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} - obecność tej funkcji szugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać,
* {{Code|funkcja_licznik}} - funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji {{Code|{{sr|#p.ZamianaZnakowaLinii|p=Szeregi}}}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst, z którego są wydzielane kolejne linie.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje,
* {{Code|funkcja}} - funkcja robiąca operacje na kolenych liniach, nawet pustych.
Funkcja korzysta z innej: {{LinkŚródtytuł|IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do przetworzenia, omijając pewne elementy lub nie, jeżeli drugi element odpowiada wartości logicznej {{Code|false}},
* {{Code|normalnie}} - czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi,
* {{Code|wzor}} - wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych,
* {{Code|funkcja}} - funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych,
* {{Code|funkcja2}} - co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
Przykład:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
</syntaxhighlight>
Wynik jest:
<syntaxhighlight lang="lua">
-- Widzimy tutaj elementy zakodowane funkcją mw.uri.encode bez elementu omijanego "#";
local tekst2="Oto+jest+tekst+wywo%C5%82ania%3A+%22#%22";
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
emhxx83t7lbm5v6cfzsgfrpkyd7w86y
558161
558160
2026-10-01T09:31:14Z
Persino
2851
558161
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - jak w: {{LinkPatrz|szereg}},
* {{Code|wzor}} - jak w: {{LinkPatrz|wzor}},
* {{Code|numer}} - numer, od którego ma rozpocząc wyszukiwanie,
* {{Code|funkcja_sprawdzanie_wyszukania}} - jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}},
* {{Code|funkcja_wzor}} - jak w: {{LinkPatrz|funkcja_wzor}},
* {{Code|licznik_wzor}} - licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
* {{Code|numer_a}} - początek wyszukania,
* {{Code|numer_b}} - koniec wyszukania,
* {{Code|zawartosc}} i {{Code|dalej}} - zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} {{Patrz|szereg}} - szeregi (ciąg znakowy) do przeanalizowania i przetworzenia,
* {{Code|wzor}} {{Patrz|wzor}} - wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów,
* {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} - sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu,
* {{Code|funkcja_zamiana}} - funkcja robiąca operacje na wydzielonych ciagach znakowych,
* {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} - obecność tej funkcji szugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać,
* {{Code|funkcja_licznik}} - funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst, z którego są wydzielane kolejne linie.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje,
* {{Code|funkcja}} - funkcja robiąca operacje na kolenych liniach, nawet pustych.
Funkcja korzysta z innej: {{LinkŚródtytuł|IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do przetworzenia, omijając pewne elementy lub nie, jeżeli drugi element odpowiada wartości logicznej {{Code|false}},
* {{Code|normalnie}} - czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi,
* {{Code|wzor}} - wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych,
* {{Code|funkcja}} - funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych,
* {{Code|funkcja2}} - co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
Przykład:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
</syntaxhighlight>
Wynik jest:
<syntaxhighlight lang="lua">
-- Widzimy tutaj elementy zakodowane funkcją mw.uri.encode bez elementu omijanego "#";
local tekst2="Oto+jest+tekst+wywo%C5%82ania%3A+%22#%22";
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
jb593niljhj1akvoii30mnepvjdzed7
558162
558161
2026-10-01T09:32:36Z
Persino
2851
558162
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - jak w: {{LinkPatrz|szereg}},
* {{Code|wzor}} - jak w: {{LinkPatrz|wzor}},
* {{Code|numer}} - numer, od którego ma rozpocząc wyszukiwanie,
* {{Code|funkcja_sprawdzanie_wyszukania}} - jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}},
* {{Code|funkcja_wzor}} - jak w: {{LinkPatrz|funkcja_wzor}},
* {{Code|licznik_wzor}} - licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
* {{Code|numer_a}} - początek wyszukania,
* {{Code|numer_b}} - koniec wyszukania,
* {{Code|zawartosc}} i {{Code|dalej}} - zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} {{Patrz|szereg}} - szeregi (ciąg znakowy) do przeanalizowania i przetworzenia,
* {{Code|wzor}} {{Patrz|wzor}} - wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów,
* {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} - sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu,
* {{Code|funkcja_zamiana}} - funkcja robiąca operacje na wydzielonych ciagach znakowych,
* {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} - obecność tej funkcji szugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać,
* {{Code|funkcja_licznik}} - funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst, z którego są wydzielane kolejne linie.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje,
* {{Code|funkcja}} - funkcja robiąca operacje na kolenych liniach, nawet pustych.
Funkcja korzysta z innej: {{LinkŚródtytuł|IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do przetworzenia, omijając pewne elementy lub nie, jeżeli drugi element odpowiada wartości logicznej {{Code|false}},
* {{Code|normalnie}} - czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi,
* {{Code|wzor}} - wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych,
* {{Code|funkcja}} - funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych,
* {{Code|funkcja2}} - co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
Przykład:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
</syntaxhighlight>
Wynik jest:
<syntaxhighlight lang="lua">
-- Widzimy tutaj elementy zakodowane funkcją mw.uri.encode bez elementu omijanego "#";
local tekst2="Oto+jest+tekst+wywo%C5%82ania%3A+%22#%22";
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
9blekfjr55ftkxhodmyrr0puultu9t9
558163
558162
2026-10-01T09:33:28Z
Persino
2851
558163
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - jak w: {{LinkPatrz|szereg}},
* {{Code|wzor}} - jak w: {{LinkPatrz|wzor}},
* {{Code|numer}} - numer, od którego ma rozpocząc wyszukiwanie,
* {{Code|funkcja_sprawdzanie_wyszukania}} - jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}},
* {{Code|funkcja_wzor}} - jak w: {{LinkPatrz|funkcja_wzor}},
* {{Code|licznik_wzor}} - licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
* {{Code|numer_a}} - początek wyszukania,
* {{Code|numer_b}} - koniec wyszukania,
* {{Code|zawartosc}} i {{Code|dalej}} - zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} {{Patrz|szereg}} - szeregi (ciąg znakowy) do przeanalizowania i przetworzenia,
* {{Code|wzor}} {{Patrz|wzor}} - wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów,
* {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} - sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu,
* {{Code|funkcja_zamiana}} - funkcja robiąca operacje na wydzielonych ciagach znakowych,
* {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} - obecność tej funkcji szugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać,
* {{Code|funkcja_licznik}} - funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst, z którego są wydzielane kolejne linie.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje,
* {{Code|funkcja}} - funkcja robiąca operacje na kolenych liniach, nawet pustych.
Funkcja korzysta z innej: {{LinkŚródtytuł|IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do przetworzenia, omijając pewne elementy lub nie, jeżeli drugi element odpowiada wartości logicznej {{Code|false}},
* {{Code|normalnie}} - czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi,
* {{Code|wzor}} - wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych,
* {{Code|funkcja}} - funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych,
* {{Code|funkcja2}} - co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
Przykład:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
</syntaxhighlight>
Wynik jest:
<syntaxhighlight lang="lua">
-- Widzimy tutaj elementy zakodowane funkcją mw.uri.encode bez elementu omijanego "#";
local tekst2="Oto+jest+tekst+wywo%C5%82ania%3A+%22#%22";
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
e3jxlbtbqf9dkc6wihfmgnly8d6ee28
558164
558163
2026-10-01T09:35:09Z
Persino
2851
558164
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - jak w: {{LinkPatrz|szereg}},
* {{Code|wzor}} - jak w: {{LinkPatrz|wzor}},
* {{Code|numer}} - numer, od którego ma rozpocząc wyszukiwanie,
* {{Code|funkcja_sprawdzanie_wyszukania}} - jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}},
* {{Code|funkcja_wzor}} - jak w: {{LinkPatrz|funkcja_wzor}},
* {{Code|licznik_wzor}} - licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
* {{Code|numer_a}} - początek wyszukania,
* {{Code|numer_b}} - koniec wyszukania,
* {{Code|zawartosc}} i {{Code|dalej}} - zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} {{Patrz|szereg}} - szeregi (ciąg znakowy) do przeanalizowania i przetworzenia,
* {{Code|wzor}} {{Patrz|wzor}} - wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów,
* {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} - sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu,
* {{Code|funkcja_zamiana}} - funkcja robiąca operacje na wydzielonych ciagach znakowych,
* {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} - obecność tej funkcji szugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać,
* {{Code|funkcja_licznik}} - funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst, z którego są wydzielane kolejne linie.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje,
* {{Code|funkcja}} - funkcja robiąca operacje na kolenych liniach, nawet pustych.
Funkcja korzysta z innej: {{LinkŚródtytuł|IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do przetworzenia, omijając pewne elementy lub nie, jeżeli drugi element odpowiada wartości logicznej {{Code|false}},
* {{Code|normalnie}} - czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi,
* {{Code|wzor}} - wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych,
* {{Code|funkcja}} - funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych,
* {{Code|funkcja2}} - co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
Przykład:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
</syntaxhighlight>
Wynik jest:
<syntaxhighlight lang="lua">
-- Widzimy tutaj elementy zakodowane funkcją mw.uri.encode bez elementu omijanego "#";
local tekst2="Oto+jest+tekst+wywo%C5%82ania%3A+%22#%22";
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
1mz7w49yftui3fm06pjcj5gvx9buanv
558165
558164
2026-10-01T09:36:40Z
Persino
2851
558165
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - jak w: {{LinkPatrz|szereg}},
* {{Code|wzor}} - jak w: {{LinkPatrz|wzor}},
* {{Code|numer}} - numer, od którego ma rozpocząc wyszukiwanie,
* {{Code|funkcja_sprawdzanie_wyszukania}} - jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}},
* {{Code|funkcja_wzor}} - jak w: {{LinkPatrz|funkcja_wzor}},
* {{Code|licznik_wzor}} - licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
* {{Code|numer_a}} - początek wyszukania,
* {{Code|numer_b}} - koniec wyszukania,
* {{Code|zawartosc}} i {{Code|dalej}} - zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} {{Patrz|szereg}} - szeregi (ciąg znakowy) do przeanalizowania i przetworzenia,
* {{Code|wzor}} {{Patrz|wzor}} - wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów,
* {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} - sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu,
* {{Code|funkcja_zamiana}} - funkcja robiąca operacje na wydzielonych ciagach znakowych,
* {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} - obecność tej funkcji szugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać,
* {{Code|funkcja_licznik}} - funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst, z którego są wydzielane kolejne linie.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje,
* {{Code|funkcja}} - funkcja robiąca operacje na kolenych liniach, nawet pustych.
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do przetworzenia, omijając pewne elementy lub nie, jeżeli drugi element odpowiada wartości logicznej {{Code|false}},
* {{Code|normalnie}} - czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi,
* {{Code|wzor}} - wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych,
* {{Code|funkcja}} - funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych,
* {{Code|funkcja2}} - co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
Przykład:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
</syntaxhighlight>
Wynik jest:
<syntaxhighlight lang="lua">
-- Widzimy tutaj elementy zakodowane funkcją mw.uri.encode bez elementu omijanego "#";
local tekst2="Oto+jest+tekst+wywo%C5%82ania%3A+%22#%22";
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
n968uulyypi7qgrym7y6acz50gu90n6
558174
558165
2026-10-01T10:00:59Z
Persino
2851
/* {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} */
558174
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - jak w: {{LinkPatrz|szereg}},
* {{Code|wzor}} - jak w: {{LinkPatrz|wzor}},
* {{Code|numer}} - numer, od którego ma rozpocząc wyszukiwanie,
* {{Code|funkcja_sprawdzanie_wyszukania}} - jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}},
* {{Code|funkcja_wzor}} - jak w: {{LinkPatrz|funkcja_wzor}},
* {{Code|licznik_wzor}} - licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
* {{Code|numer_a}} - początek wyszukania,
* {{Code|numer_b}} - koniec wyszukania,
* {{Code|zawartosc}} i {{Code|dalej}} - zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} {{Patrz|szereg}} - szeregi (ciąg znakowy) do przeanalizowania i przetworzenia,
* {{Code|wzor}} {{Patrz|wzor}} - wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów,
* {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} - sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu,
* {{Code|funkcja_zamiana}} - funkcja robiąca operacje na wydzielonych ciagach znakowych,
* {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} - obecność tej funkcji szugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać,
* {{Code|funkcja_licznik}} - funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst, z którego są wydzielane kolejne linie.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry:
* {{Code|szereg}} - szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje,
* {{Code|funkcja}} - funkcja robiąca operacje na kolenych liniach, nawet pustych.
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry:
* {{Code|tekst}} - tekst do przetworzenia, omijając pewne elementy lub nie, jeżeli drugi element odpowiada wartości logicznej {{Code|false}},
* {{Code|normalnie}} - czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi,
* {{Code|wzor}} - wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych,
* {{Code|funkcja}} - funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych,
* {{Code|funkcja2}} - co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mv296lssbp9r6478nvgv64kvtqv2cd1
558177
558174
2026-10-01T10:44:46Z
Persino
2851
558177
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Jak w: {{LinkPatrz|szereg}}.
| 2 = {{Code|wzor}} | _2 = Jak w: {{LinkPatrz|wzor}}.
| 3 = {{Code|numer}} | _3 = Numer, od którego ma rozpocząc wyszukiwanie.
| 4 = {{Code|funkcja_sprawdzanie_wyszukania}} | _4 = Jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}.
| 5 = {{Code|funkcja_wzor}} | _5 = Jak w: {{LinkPatrz|funkcja_wzor}}.
| 6 = {{Code|licznik_wzor}} | _6 = Licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
}}
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
{{OpisParametrów
| 1 = {{Code|numer_a}} | _1 = Początek wyszukania.
| 2 = {{Code|numer_b}} | _2 = Koniec wyszukania.
| 3 = {{Code|zawartosc}} i {{Code|dalej}} | _3 = Zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
}}
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} {{Patrz|szereg}} | _1 = Szeregi (ciąg znakowy) do przeanalizowania i przetworzenia.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów.
| 3 = {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} | _3 = Sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu.
| 4 = {{Code|funkcja_zamiana}} | _4 = Funkcja robiąca operacje na wydzielonych ciągach znakowych.
| 5 = {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} | _5 = Obecność tej funkcji sugeruje, że trzeba wywołać {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, w przeciwnym wypadku {{Code|funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);}}, funkcja ta zwraca wartość logiczną w zmiennej {{Code|tak}}, mówiącej, czy powtórzyć wyszukiwanie, i {{Code|ile}}, tzn. ile ddodatkowych wyrazów dalej ma wyszukać.
| 6 = {{Code|funkcja_licznik}} | _6 = Funkcja robiąca operacje na podstawie {{Code|licznik_wzor {{=}} funkcja_licznik(wzor,licznik_wzor,numer_begin);}}, licząca zmienną {{Code|licznik_wzor}}.
}}
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst, z którego są wydzielane kolejne linie.
}}
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje.
| 2 = {{Code|funkcja}} | _2 = Funkcja robiąca operacje na kolejnych liniach, nawet pustych.
}}
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia, omijając pewne elementy, jeżeli drugi element odpowiada wartości logicznej {{Code|false}}, przeciwnie już nie.
| 2 = {{Code|normalnie}} | _2 = Czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi.
| 3 = {{Code|wzor}} | _3 = Wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych.
| 4 = {{Code|funkcja}} | _4 = Funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych.
| 5 = {{Code|funkcja2}} | _5 = Co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sdq9vwzgr6tz9d8ykg1rc8xteclxej8
558178
558177
2026-10-01T11:28:35Z
Persino
2851
/* {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} */
558178
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Jak w: {{LinkPatrz|szereg}}.
| 2 = {{Code|wzor}} | _2 = Jak w: {{LinkPatrz|wzor}}.
| 3 = {{Code|numer}} | _3 = Numer, od którego ma rozpocząc wyszukiwanie.
| 4 = {{Code|funkcja_sprawdzanie_wyszukania}} | _4 = Jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}.
| 5 = {{Code|funkcja_wzor}} | _5 = Jak w: {{LinkPatrz|funkcja_wzor}}.
| 6 = {{Code|licznik_wzor}} | _6 = Licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
}}
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
{{OpisParametrów
| 1 = {{Code|numer_a}} | _1 = Początek wyszukania.
| 2 = {{Code|numer_b}} | _2 = Koniec wyszukania.
| 3 = {{Code|zawartosc}} i {{Code|dalej}} | _3 = Zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
}}
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=mw.ustring.find(szereg,wzor,numer);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} {{Patrz|szereg}} | _1 = Szeregi (ciąg znakowy) do przeanalizowania i przetworzenia.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów.
| 3 = {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} | _3 = Sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu.
| 4 = {{Code|funkcja_zamiana}} | _4 = Funkcja robiąca operacje na wydzielonych ciągach znakowych.
| 5 = {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} | _5 =
Funkcja ta zwraca wartość w zmiennych: {{Code|__wzor}} i {{Code|czy}}, ta pierwsza mówi, jaki jest wzór wyszukiwania, a druga, czy powtórzyć wyszukiwanie, ale względem innego niż poprzednio, zwracanego wzoru.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
</syntaxhighlight>
{{Hr}}
Obecność tej funkcji sugeruje, że trzeba wywołać:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
W przeciwnym wypadku:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Parametr {{Code|tak}}, tak mówi, czy powtórzyć wyszukiwanie, a {{Code|ile}}, wskazuje ile znaków dalej ma wyszukać, a jeżeli wartość ta jest {{Code|nil}}, to ona przyjmuje wartość domyślną {{Code|1}}.
| 6 = {{Code|funkcja_licznik}} | _6 = Funkcja robiąca operacje:
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
</syntaxhighlight>
Funkcja liczy numer wzoru wyszukiwanego przez funkcję. A: {{Code|wzor}} - jest to wzór podstawowy, {{Code|licznik_wzor}} - numer wzoru, i {{Code|numer_begin}} - jest to początek wyszukiwania.
}}
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst, z którego są wydzielane kolejne linie.
}}
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje.
| 2 = {{Code|funkcja}} | _2 = Funkcja robiąca operacje na kolejnych liniach, nawet pustych.
}}
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia, omijając pewne elementy, jeżeli drugi element odpowiada wartości logicznej {{Code|false}}, przeciwnie już nie.
| 2 = {{Code|normalnie}} | _2 = Czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi.
| 3 = {{Code|wzor}} | _3 = Wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych.
| 4 = {{Code|funkcja}} | _4 = Funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych.
| 5 = {{Code|funkcja2}} | _5 = Co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mjousfzfmh1j038072hrikm47n3ho7q
558179
558178
2026-10-01T11:31:01Z
Persino
2851
/* {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} */
558179
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Jak w: {{LinkPatrz|szereg}}.
| 2 = {{Code|wzor}} | _2 = Jak w: {{LinkPatrz|wzor}}.
| 3 = {{Code|numer}} | _3 = Numer, od którego ma rozpocząc wyszukiwanie.
| 4 = {{Code|funkcja_sprawdzanie_wyszukania}} | _4 = Jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}.
| 5 = {{Code|funkcja_wzor}} | _5 = Jak w: {{LinkPatrz|funkcja_wzor}}.
| 6 = {{Code|licznik_wzor}} | _6 = Licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
}}
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
{{OpisParametrów
| 1 = {{Code|numer_a}} | _1 = Początek wyszukania.
| 2 = {{Code|numer_b}} | _2 = Koniec wyszukania.
| 3 = {{Code|zawartosc}} i {{Code|dalej}} | _3 = Zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
}}
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local stronicowyparser_analizaspisurzeczy_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=stronicowyparser_analizaspisurzeczy_modul.SzukanieNaPodstawieWzoru(szereg,wzor,numer,#szereg,false);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} {{Patrz|szereg}} | _1 = Szeregi (ciąg znakowy) do przeanalizowania i przetworzenia.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów.
| 3 = {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} | _3 = Sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu.
| 4 = {{Code|funkcja_zamiana}} | _4 = Funkcja robiąca operacje na wydzielonych ciągach znakowych.
| 5 = {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} | _5 =
Funkcja ta zwraca wartość w zmiennych: {{Code|__wzor}} i {{Code|czy}}, ta pierwsza mówi, jaki jest wzór wyszukiwania, a druga, czy powtórzyć wyszukiwanie, ale względem innego niż poprzednio, zwracanego wzoru.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
</syntaxhighlight>
{{Hr}}
Obecność tej funkcji sugeruje, że trzeba wywołać:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
W przeciwnym wypadku:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Parametr {{Code|tak}}, tak mówi, czy powtórzyć wyszukiwanie, a {{Code|ile}}, wskazuje ile znaków dalej ma wyszukać, a jeżeli wartość ta jest {{Code|nil}}, to ona przyjmuje wartość domyślną {{Code|1}}.
| 6 = {{Code|funkcja_licznik}} | _6 = Funkcja robiąca operacje:
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
</syntaxhighlight>
Funkcja liczy numer wzoru wyszukiwanego przez funkcję. A: {{Code|wzor}} - jest to wzór podstawowy, {{Code|licznik_wzor}} - numer wzoru, i {{Code|numer_begin}} - jest to początek wyszukiwania.
}}
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst, z którego są wydzielane kolejne linie.
}}
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje.
| 2 = {{Code|funkcja}} | _2 = Funkcja robiąca operacje na kolejnych liniach, nawet pustych.
}}
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia, omijając pewne elementy, jeżeli drugi element odpowiada wartości logicznej {{Code|false}}, przeciwnie już nie.
| 2 = {{Code|normalnie}} | _2 = Czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi.
| 3 = {{Code|wzor}} | _3 = Wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych.
| 4 = {{Code|funkcja}} | _4 = Funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych.
| 5 = {{Code|funkcja2}} | _5 = Co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
hnsvef224svvj6xqxzo55snaqt1fbsn
558180
558179
2026-10-01T11:50:52Z
Persino
2851
/* {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} */
558180
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Jak w: {{LinkPatrz|szereg}}.
| 2 = {{Code|wzor}} | _2 = Jak w: {{LinkPatrz|wzor}}.
| 3 = {{Code|numer}} | _3 = Numer, od którego ma rozpocząc wyszukiwanie.
| 4 = {{Code|funkcja_sprawdzanie_wyszukania}} | _4 = Jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}.
| 5 = {{Code|funkcja_wzor}} | _5 = Jak w: {{LinkPatrz|funkcja_wzor}}.
| 6 = {{Code|licznik_wzor}} | _6 = Licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
}}
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
{{OpisParametrów
| 1 = {{Code|numer_a}} | _1 = Początek wyszukania.
| 2 = {{Code|numer_b}} | _2 = Koniec wyszukania.
| 3 = {{Code|zawartosc}} i {{Code|dalej}} | _3 = Zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
}}
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local stronicowyparser_analizaspisurzeczy_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=stronicowyparser_analizaspisurzeczy_modul.SzukanieNaPodstawieWzoru(szereg,wzor,numer,#szereg,false);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} {{Patrz|szereg}} | _1 = Szeregi (ciąg znakowy) do przeanalizowania i przetworzenia.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów.
| 3 = {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} | _3 = Sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu, ale od pewnego znaku, ale dalszego określonego.
Obecność funkcji: {{Code|funkcja_wzor}} {{LinkPatrz|funkcja_wzor}}, sugeruje, że trzeba wywołać:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
W przeciwnym wypadku:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Parametr {{Code|tak}}, tak mówi, czy powtórzyć wyszukiwanie, a {{Code|ile}}, wskazuje ile znaków dalej ma wyszukać, a jeżeli wartość ta jest {{Code|nil}}, to ona przyjmuje wartość domyślną {{Code|1}}.
| 4 = {{Code|funkcja_zamiana}} {{Patrz|funkcja_zamiana}} | _4 = Funkcja robiąca operacje na wydzielonych ciągach znakowych.
Obecność funkcji: {{Code|funkcja_wzor}} {{LinkPatrz|funkcja_wzor}}, wskazuje na:
<syntaxhighlight lang="lua">
ciag=funkcja_zamiana(licznik_wzor,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Przeciwnie na:
<syntaxhighlight>
ciag=funkcja_zamiana(a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
| 5 = {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} | _5 =
Funkcja sterująca powtarzaniem wyszukiwania ciągu, ale od tego samego numeru znaku, jeżeli poprzednie wyszukiwanie się nie powiodło. Funkcja może być niepodana, wtedy zmienia się zespół parametrów pewnych funkcji tych podawanych jako parametry, tzn.: {{Code|funkcja_sprawdzanie_wyszukania}} {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}, i {{Code|funkcja_zamiana}} {{LinkPatrz|funkcja_zamiana}}.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
</syntaxhighlight>
Funkcja ta zwraca wartość w zmiennych: {{Code|__wzor}} i {{Code|czy}}, ta pierwsza mówi, jaki jest wzór wyszukiwania, a druga, czy powtórzyć wyszukiwanie, ale względem innego niż poprzednio, zwracanego wzoru.
| 6 = {{Code|funkcja_licznik}} | _6 =
Funkcja liczy numer wzoru wyszukiwanego, na podstawie tego podstawowego.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
</syntaxhighlight>
Parametry: {{Code|wzor}} - jest to wzór podstawowy, {{Code|licznik_wzor}} - numer wzoru, i {{Code|numer_begin}} - jest to początek wyszukiwania.
}}
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst, z którego są wydzielane kolejne linie.
}}
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje.
| 2 = {{Code|funkcja}} | _2 = Funkcja robiąca operacje na kolejnych liniach, nawet pustych.
}}
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia, omijając pewne elementy, jeżeli drugi element odpowiada wartości logicznej {{Code|false}}, przeciwnie już nie.
| 2 = {{Code|normalnie}} | _2 = Czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi.
| 3 = {{Code|wzor}} | _3 = Wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych.
| 4 = {{Code|funkcja}} | _4 = Funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych.
| 5 = {{Code|funkcja2}} | _5 = Co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ceoog5zs6cc2gtf9ttmf4mmkimd3iiz
558181
558180
2026-10-01T11:51:40Z
Persino
2851
/* {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} */
558181
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Jak w: {{LinkPatrz|szereg}}.
| 2 = {{Code|wzor}} | _2 = Jak w: {{LinkPatrz|wzor}}.
| 3 = {{Code|numer}} | _3 = Numer, od którego ma rozpocząc wyszukiwanie.
| 4 = {{Code|funkcja_sprawdzanie_wyszukania}} | _4 = Jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}.
| 5 = {{Code|funkcja_wzor}} | _5 = Jak w: {{LinkPatrz|funkcja_wzor}}.
| 6 = {{Code|licznik_wzor}} | _6 = Licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
}}
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
{{OpisParametrów
| 1 = {{Code|numer_a}} | _1 = Początek wyszukania.
| 2 = {{Code|numer_b}} | _2 = Koniec wyszukania.
| 3 = {{Code|zawartosc}} i {{Code|dalej}} | _3 = Zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
}}
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local stronicowyparser_analizaspisurzeczy_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=stronicowyparser_analizaspisurzeczy_modul.SzukanieNaPodstawieWzoru(szereg,wzor,numer,#szereg,false);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} {{Patrz|szereg}} | _1 = Szeregi (ciąg znakowy) do przeanalizowania i przetworzenia.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów.
| 3 = {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} | _3 = Sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu, ale od pewnego znaku, ale dalszego określonego.
Obecność funkcji: {{Code|funkcja_wzor}} {{LinkPatrz|funkcja_wzor}}, sugeruje, że trzeba wywołać:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
W przeciwnym wypadku:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Parametr {{Code|tak}}, tak mówi, czy powtórzyć wyszukiwanie, a {{Code|ile}}, wskazuje ile znaków dalej ma wyszukać, a jeżeli wartość ta jest {{Code|nil}}, to ona przyjmuje wartość domyślną {{Code|1}}.
| 4 = {{Code|funkcja_zamiana}} {{Patrz|funkcja_zamiana}} | _4 = Funkcja robiąca operacje na wydzielonych ciągach znakowych.
Obecność funkcji: {{Code|funkcja_wzor}} {{LinkPatrz|funkcja_wzor}}, wskazuje na:
<syntaxhighlight lang="lua">
ciag=funkcja_zamiana(licznik_wzor,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Przeciwnie na:
<syntaxhighlight lang="lua">
ciag=funkcja_zamiana(a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
| 5 = {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} | _5 =
Funkcja sterująca powtarzaniem wyszukiwania ciągu, ale od tego samego numeru znaku, jeżeli poprzednie wyszukiwanie się nie powiodło. Funkcja może być niepodana, wtedy zmienia się zespół parametrów pewnych funkcji tych podawanych jako parametry, tzn.: {{Code|funkcja_sprawdzanie_wyszukania}} {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}, i {{Code|funkcja_zamiana}} {{LinkPatrz|funkcja_zamiana}}.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
</syntaxhighlight>
Funkcja ta zwraca wartość w zmiennych: {{Code|__wzor}} i {{Code|czy}}, ta pierwsza mówi, jaki jest wzór wyszukiwania, a druga, czy powtórzyć wyszukiwanie, ale względem innego niż poprzednio, zwracanego wzoru.
| 6 = {{Code|funkcja_licznik}} | _6 =
Funkcja liczy numer wzoru wyszukiwanego, na podstawie tego podstawowego.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
</syntaxhighlight>
Parametry: {{Code|wzor}} - jest to wzór podstawowy, {{Code|licznik_wzor}} - numer wzoru, i {{Code|numer_begin}} - jest to początek wyszukiwania.
}}
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst, z którego są wydzielane kolejne linie.
}}
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje.
| 2 = {{Code|funkcja}} | _2 = Funkcja robiąca operacje na kolejnych liniach, nawet pustych.
}}
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia, omijając pewne elementy, jeżeli drugi element odpowiada wartości logicznej {{Code|false}}, przeciwnie już nie.
| 2 = {{Code|normalnie}} | _2 = Czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi.
| 3 = {{Code|wzor}} | _3 = Wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych.
| 4 = {{Code|funkcja}} | _4 = Funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych.
| 5 = {{Code|funkcja2}} | _5 = Co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
q56gg3cik97knbu0gicw1v3biwtpyjb
558182
558181
2026-10-01T11:57:31Z
Persino
2851
/* {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} */
558182
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Szeregi}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do obsługi na ciągach (szeregach) języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local szeregi_modul=require("Module:Szeregi");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje opisane w module, która opisuje ta dokumentacja, służą do operacji na szeregach, też na wydzielaniu poszczególnych linii i robienia na nich operacji, a także wykonywania operacji naniepomijanych elementach znakowych.
Przykładowe użycie modułu {{Code|{{ld2|Szeregi}}}} jest użyte w module {{Code|{{ld2|Szablonowe/Potrzebne}}}}.
Na te stronie będziemy wchodzili do pliku: {{Code|Moduły/Szeregi}} w przestrzeni nazw: {{Code|Wikibooks}}, ściągając jego zawartość w funkcjach: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, {{LinkŚródtytuł|p.ZamianaZnakowaSzeregu}}, {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, i {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}.
== {{Śródtytuł|p.WyszukiwanieNaPodstawieWzorca}}{{Code|p.WyszukiwanieNaPodstawieWzorca}} ==
Funkcja wyszukuje począwszy od miejsca pierwszego (trzeci argument) funkcji, czyli z podwójnymi nawiasami klamrowymi, a jeżeli w nim są początki, np. innych szablonów, to wyszukuje kolejne przykładowe dwa miejsca dalej względem poprzedniego przykładowego wyszukiwania.
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WyszukiwanieNaPodstawieWzorca=function(szereg,wzor,numer,funkcja_sprawdzanie_wyszukania,funkcja_wzor,licznik_wzor)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Jak w: {{LinkPatrz|szereg}}.
| 2 = {{Code|wzor}} | _2 = Jak w: {{LinkPatrz|wzor}}.
| 3 = {{Code|numer}} | _3 = Numer, od którego ma rozpocząc wyszukiwanie.
| 4 = {{Code|funkcja_sprawdzanie_wyszukania}} | _4 = Jak w: {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}.
| 5 = {{Code|funkcja_wzor}} | _5 = Jak w: {{LinkPatrz|funkcja_wzor}}.
| 6 = {{Code|licznik_wzor}} | _6 = Licznik wykorzystywany w ciele funkcji: {{Code|funkcja_sprawdzanie_wyszukania}}, gdy parametr: {{Code|funkcja_wzor}}, nie jest: {{Code|nil}}, tylko funkcją.
}}
A {{Code|numer}} w czwartym argumencie (funkcji) ten parametr wskazany jest przez trzeci argument, czyli {{Code|1}}, a jeżeli pierwsze wyszukiwanie się nie powiodło się, ona wyszukuje następne, aż do całkowitego niepowodzenia, lub do nieznalezienia następnych ciągów, wtedy jest zwracana wartość {{Code|nil}}, ale przez tym liczba ponownym wyszukań może być dowolna, w zależności od długości tekstu.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(wzor,licznik_wzor,czy)
-- Obojętne jaka definicja, ta funkcja ma definicję, bo w p.ZamianaZnakowaSzeregu jest ona tam potrzebna.
end,1);
</syntaxhighlight>
Opis zmiennych zwracanych w przykładzie:
{{OpisParametrów
| 1 = {{Code|numer_a}} | _1 = Początek wyszukania.
| 2 = {{Code|numer_b}} | _2 = Koniec wyszukania.
| 3 = {{Code|zawartosc}} i {{Code|dalej}} | _3 = Zawartość i dalszy element, elementy zwaracane z przechwytywania okazane wzorem {{Code|<nowiki>%{%{(.-)%}%}(%l*)</nowiki>}} za pomocą dwóch części przechwytujących ciągu znakowe.
}}
Funkcja ta zwraca dwa dalsze parametry, najwięcej dalszych parametrów (od {{Code|zawartość}}) może być dziewięć, taka bowiem jest właściwość funkcji:
<syntaxhighlight lang="lua">
local stronicowyparser_analizaspisurzeczy_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local numer_a,numer_b,a,b,c,d,e,f,g,h,i=stronicowyparser_analizaspisurzeczy_modul.SzukanieNaPodstawieWzoru(szereg,wzor,numer,#szereg,false);
</syntaxhighlight>
Ta funkcja jest w definicji omawianej funkcji.
Tę funkcję równie dobrze można napisać prościej:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local numer_a,numer_b,zawartosc,dalej=szeregi_modul.WyszukiwanieNaPodstawieWzorca(tekst,"%{%{(.-)%}%}(%l*)",1,
function(tekst,numer,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end
);
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaSzeregu}}{{Code|p.ZamianaZnakowaSzeregu}} ==
Funkcja do podmiany wyszukiwanego tekstu. Wyszukuje tekst wskazany przez pierwszy argument, drugi parametr jako wzór (wyszukuj szablony z podwójnymi nawiasami klamrowymi), a jeżeli ona zawiera początek następnego szablonu (funkcja wskazana przez trzeci argument), to wyszukuje ona dwa miejsca dalej znakowe, czy jest on tym właściwym szablonem bez innych szablonów, których nie ma tam tego. Następnie po wyszukaniu szablonu przez funkcję podaną jako czwarty argument, usuwa w nim odstępy, i robi z niego inny szablon. Funkcja najpierw wyszukuje według piątej funkcji, dla {{Code|licznik_wzor {{=}} 1}}, sprawdza dodatkowo, jakie są małe litery po linku, jeżeli po nim one są tam.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamianaZnakowaSzeregu=function(szereg,wzor,funkcja_sprawdzanie_wyszukania,funkcja_zamiana,funkcja_wzor,funkcja_licznik)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} {{Patrz|szereg}} | _1 = Szeregi (ciąg znakowy) do przeanalizowania i przetworzenia.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzór w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}} do przeszukiwania ciągów.
| 3 = {{Code|funkcja_sprawdzanie_wyszukania}} {{Patrz|funkcja_sprawdzanie_wyszukania}} | _3 = Sprawdza, czy wyszukany ciąg zawiera pewny element, a jeżeli tak, to tą funkcją w nagłówku powtarzane jest wyszukiwanie aż do skutku, lub do końca szeregu, ale od pewnego znaku, ale dalszego określonego.
Obecność funkcji: {{Code|funkcja_wzor}} {{LinkPatrz|funkcja_wzor}}, sugeruje, że trzeba wywołać:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,licznik_wzor,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
W przeciwnym wypadku:
<syntaxhighlight lang="lua">
tak,ile=funkcja_sprawdzanie_wyszukania(szereg,numer,numer_a,numer_b,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Parametr {{Code|tak}}, tak mówi, czy powtórzyć wyszukiwanie, a {{Code|ile}}, wskazuje ile znaków dalej ma wyszukać, a jeżeli wartość ta jest {{Code|nil}}, to ona przyjmuje wartość domyślną {{Code|1}}.
| 4 = {{Code|funkcja_zamiana}} {{Patrz|funkcja_zamiana}} | _4 = Funkcja robiąca operacje na wydzielonych ciągach znakowych.
Obecność funkcji: {{Code|funkcja_wzor}} {{LinkPatrz|funkcja_wzor}}, wskazuje na:
<syntaxhighlight lang="lua">
ciag=funkcja_zamiana(licznik_wzor,a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
Przeciwnie na:
<syntaxhighlight lang="lua">
ciag=funkcja_zamiana(a,b,c,d,e,f,g,h,i);
</syntaxhighlight>
| 5 = {{Code|funkcja_wzor}} {{Patrz|funkcja_wzor}} | _5 =
Funkcja sterująca powtarzaniem wyszukiwania ciągu, ale od tego samego numeru znaku, jeżeli poprzednie wyszukiwanie się nie powiodło. Funkcja może być niepodana, wtedy zmienia się zespół parametrów pewnych funkcji tych podawanych jako parametry, tzn.: {{Code|funkcja_sprawdzanie_wyszukania}} {{LinkPatrz|funkcja_sprawdzanie_wyszukania}}, i {{Code|funkcja_zamiana}} {{LinkPatrz|funkcja_zamiana}}.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
__wzor,czy=funkcja_wzor(wzor,licznik_wzor,czy);
</syntaxhighlight>
Funkcja ta zwraca wartość w zmiennych: {{Code|__wzor}} i {{Code|czy}}, ta pierwsza mówi, jaki jest wzór wyszukiwania, a druga, czy powtórzyć wyszukiwanie, ale względem innego niż poprzednio, zwracanego wzoru.
| 6 = {{Code|funkcja_licznik}} {{Patrz|funkcja_licznik}} | _6 =
Funkcja liczy numer wzoru wyszukiwanego, na podstawie tego podstawowego. Funkcja używana w skojarzeniu z funkcją: {{Code|funkcja_wzor}} {{LinkPatrz|funkcja_wzor}}, wtedy jedynie ona jest wywoływana i liczona, przeciwnie nie jest wcale używana.
{{P|Definicja funkcji:}}
<syntaxhighlight lang="lua">
licznik_wzor=funkcja_licznik(wzor,licznik_wzor,numer_begin);
</syntaxhighlight>
Parametry: {{Code|wzor}} - jest to wzór podstawowy, {{Code|licznik_wzor}} - numer wzoru, i {{Code|numer_begin}} - jest to początek wyszukiwania.
}}
Funkcja wykorzystuje do działania: {{LinkŚródtytuł|p.WyszukiwanieNaPodstawieWzorca}}, w celu wyszukiwanych ciągów.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,licznik_wzor,numer_a,numer_b,zawartosc,dalej)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(licznik_wzor,zawartosc,dalej)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]"..((licznik_wzor==1)and dalej or "");
end,
function(wzor,licznik_wzor,czy)
if(czy)then
if(licznik_wzor==1)then return wzor.."(%l*)",true;end;
end;
return wzor,false;
end,
function(wzor,licznk_wzor,numer_begin)
licznik_wzor=licznik_wzor+1;
return licznik_wzor;
end
);
</syntaxhighlight>
A jeżeli piąty argument (funkcja) nie zostanie podany, a więc i też szósty, bo wtedy on jest niepotrzebny, to w czwartej funkcji argument pierwszy można pominąć, a w pierwszej zmienną trzecią pomijamy, bo w tych funkcjach po prostu ich nie podajemy, wtedy tę funkcję można napisać w uproszczony sposób:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaSzeregu(tekst,"%{%{(.-)%}%}",
function(tekst,numer,numer_a,numer_b,zawartosc)
return mw.ustring.match(zawartosc,"%{%{"),2;
end,
function(zawartosc)
zawartosc=mw.ustring.gsub(zawartosc,"%s+","");
return "[["..zawartosc.."]]";
end
);
</syntaxhighlight>
Ta funkcja zwraca zmodyfikowany tekst uzyskany z omawianej funkcji. Tą funkcję możemy wykorzystać do kodowania dowolnego tekstu i operowania na nim, co jest wykorzystane, nie tylko jako przykładach, ale też jako treściwy kod według tego wspomnianego w tym module powyżej.
== {{Śródtytuł|p.IteratorLiniiTekstu}}{{Code|p.IteratorLiniiTekstu}} ==
Funkcja uzyskany tekst iteruje linia po linii według iteracji poniżej przy pomocy operacji {{Code|for}}, gdzie tam możemy robić operacje na liniach, by dodać je póżniej do tablicy linia, by je połączyć przy pomocy łącznika {{Code|\n}}. Poniższy kod robi to samo, co przykład dla funkcji: {{LinkŚródtytuł|p.ZamianaZnakowaLinii}}, tylko, że dłużej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorLiniiTekstu(tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst, z którego są wydzielane kolejne linie.
}}
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
local iter=szeregi_modul.IteratorLiniiTekstu(tekst);
local tab_linia={};
for linia in iter do
linia=mw.ustring.gsub(linia,"%s+","");
table.insert(tab_linia,linia);
end;
tekst=table.concat(tab_linia,"\n");
</syntaxhighlight>
== {{Śródtytuł|p.ZamianaZnakowaLinii}}{{Code|p.ZamianaZnakowaLinii}} ==
Funkcja zamienia tekst uzyskany wstawiony do pierwszego argumentu tej funkcji, gdzie poszczególne linie są zmieniane przez anonimową funkcję podaną jako drugi argument. Jeżeli ta funkcja zwraca {{Code|nil}} dla jakieś linii, to ta linia nie jest zmieniana, tylko przypisywana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaZnakowaLinii(szereg,funkcja)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szereg}} | _1 = Szereg do przetworzenia, z którego są wydzielane kolejne linie i są robione na nich pewne operacje.
| 2 = {{Code|funkcja}} | _2 = Funkcja robiąca operacje na kolejnych liniach, nawet pustych.
}}
Funkcja korzysta z innej: {{LinkŚródtytuł|p.IteratorLiniiTekstu}}, w celu uzyskiwania kolejnych linii tekstu, linie są oddzielone znakiem: {{Code|\n}}, w ogólnym podanym tekście.
Przykład wywołania:
<syntaxhighlight lang="lua">
local title=mw.title.makeTitle("Wikibooks","Moduły/Szeregi");
local tekst=title:getContent();
local szeregi_modul=require("Module:Szeregi");
tekst=szeregi_modul.ZamianaZnakowaLinii(tekst,function(linia)
local linia,ile=mw.ustring.gsub(linia,"%s+","");
if(ile>0)then return linia;end;
return nil;
end);
</syntaxhighlight>
Ta funkcja usuwa wszystkie odstępy w liniach, ale nie pomiędzy liniami.
== {{Śródtytuł|p.SzeregiOmijanieFunkcyjne}}{{Code|p.SzeregiOmijanieFunkcyjne}} ==
Funkcja do operacji na szeregach (ciągach), przy pomocy pewnej funkcji, z pominięciem pewnych ciągów określonym, jako opisywanym przez wzór (zmienna {{Code|wzor}}), podanym do parametru funkcji z operacją na nich podanym jako druga funkcja {{Code|funkcja2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzeregiOmijanieFunkcyjne(tekst,normalnie,wzor,funkcja,funkcja2)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia, omijając pewne elementy, jeżeli drugi element odpowiada wartości logicznej {{Code|false}}, przeciwnie już nie.
| 2 = {{Code|normalnie}} | _2 = Czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi.
| 3 = {{Code|wzor}} | _3 = Wzór do elementów pomijanych, wzór może mieć do ośmiu elementów przechwytywanych.
| 4 = {{Code|funkcja}} | _4 = Funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych.
| 5 = {{Code|funkcja2}} | _5 = Co ma robić z częściami elementów pomijanych, czyli z elementami przechwytywanymi, funkcja przyjmuje do ośmiu parametrów przechwytywania w podanym wzorze {{Code|wzor}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
igzlzu3ega23yqharod9tn20i50q9jp
Szablon:AktualnaKsiążka/opis/Zobacz też
10
63599
558104
544345
2026-09-30T13:08:33Z
Persino
2851
558104
wikitext
text/x-wiki
<includeonly>
; Szablon zaprojektowane do posługiwania się wewnątrz podręcznika{{dk}}
* {{s|SpisTreści}} - szablon spisu treści, wywoływany dla każdego artykułu w niej na stronie głównej książki,
* {{s|Sekcja referencyjna}} (skrót: {{s|sr}}) - szablon linku wewnętrznego posługiwania się artykułami w obrębie jednego podręcznika.
; Ogólne szablony linków wewnętrznych{{dk}}
* {{s|Link wewnętrzny}} (skrót: {{s|ly}}) - szablon linków wewnętrznych wewnątrz- i między-projektowych.
; Szablony ogólne linków wewnętrznych{{dk}}
* {{s|LinkOgólne}} (skrót: {{s|lo}}) i {{s|LinkOgólne2}} (skrót: {{s|lo2}}) - ogólne szablony linków wewnętrznych zaprojektowanych dla różnych przestrzeni nazw, szablon operuje na linkach wewnątrz- i między-projektowych.
; Szablony szczególne linków wewnętrznych{{dk}}
* {{s|LinkGłówna}} (skrót: {{s|lg}}) - szablon linków wewnętrznych posługujących się na linkach w przestrzeni nazw {{Np|(main)|link=tak}},
* {{s|LinkWikijunior}} (skrót: {{s|lj}}) i {{s|LinkWikijunior2}} (skrót: {{s|lj2}}) - szablony linków wewnętrznych posługujących się na linkach w przestrzeni nazw {{Np|Wikijunior|link=tak}}, kolejno bez wyświetlania i z wyświetlaniem tej nazwy przestrzeni nazw,
* {{s|LinkProjekt}} (skrót: {{s|lr}}) i {{s|LinkProjekt2}} (skrót: {{s|lr2}}) - szablony linków wewnętrznych posługujących się na linkach w przestrzeni nazw {{Np|Project|link=tak}}, kolejno bez wyświetlania i z wyświetlaniem tej nazwy przestrzeni nazw,
* {{s|LinkUżytkownik}} (skrót: {{s|lż}}) i {{s|LinkUżytkownik2}} (skrót: {{s|lż2}}) - szablony linków wewnętrznych posługujących się na linkach w przestrzeni nazw {{Np|User|link=tak}}, kolejno bez wyświetlania i z wyświetlaniem tej nazwy przestrzeni nazw.
----
; Z powyższych szablonów korzystają szablony{{dk}}
* Szablony nawigacji: {{s|AktualnaKsiążka}}, {{s|NastępnyArtykuł}} i {{s|PoprzedniArtykuł}} lub {{s|NazwaAktualnyArtykuł}}, bądź {{s|LinkAktualnaKsiążka}}, {{s|LinkNastępnyArtykuł}} i {{s|LinkPoprzedniArtykuł}}.
* Inne szablony: {{s|PierwszyArtykuł}}, {{s|OstatniArtykuł}}, {{s|PomiędzyArtykuł}}, {{s|LosowyArtykuł}}, {{s|PobierzNazwęArtykułu}} i {{s|PobierzNumerArtykułu}}.
----
----
; Szablony nagłówkow wyświetlające nazwę nagłówka, na stronie głównej podręcznika ze strony oinngo artykułu teggo podręcznika, ze względu na nazwę szablonu{{Dk}}
;; Szablon losowych nagłówków wyświetlający losowy napis w zależności od np. czasu lub liczby{{dk}}
* {{s|LosowyNagłówek}} - wyświetla losowy nagłówek z całego zakresu w ramach spisu rzeczy ze strony głównej podręcznika,
* {{s|PomiędzyNagłówek}} - wyświetla losowy nagłówek pomiędzy jego pierwszym i ostatnim z całego zakresu w ramach spisu rzeczy ze strony głównej podręcznika.
;; Szablony wyświetlające skrajne nagłówki na stronie głównej podręcznika{{dk}}
* {{s|PierwszyNagłówek}} - pisze pierwszy nagłówek na stronie głównej podręcznika,
* {{s|OstatniNagłówek}} - pisze ostatni nagłówek na stronie głównej podręcznika.
;; Liczba nagłówków{{dk}}
* {{s|LiczbaNagłówkówSpisu}} - liczna nagłówków na stronie głównej podręcznika.<!---
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
cvrpcqmlcegk5aemy8xmk4g6wj28oe7
Szablon:Mbox/opis/Zobacz też
10
63608
558108
544495
2026-09-30T13:13:43Z
Persino
2851
558108
wikitext
text/x-wiki
<includeonly>
; Złożone szablony komunikatów{{dk}}
* {{s|Ambox}} - szablon do tworzenia komunikatów stosowany w artykułach w przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}},
* {{s|Tmbox}} - szablon do tworzenia pól wiadomości informacyjnych dla stron dyskusji,
* {{s|Fmbox}} - szablon do tworzenia pól wiadomości komunikatów systemowych w przestrzeniach nazw: {{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}},
* {{s|Imbox}} - szablon do tworzenia pól wiadomości dla stron obrazów (plików) dla przestrzeni nazw: {{Np|File|link=tak}},
* {{s|Cmbox}} - szablon do tworzenia pól komunikatów dla stron kategorii dla przestrzeni nazw: {{Np|Category|link=tak}},
* {{s|Ombox}} - szablon do tworzenia pól wiadomości informacyjnych i ostrzegawczych - odpowiednik dla pozostałych przestrzeni nazw.
; Szablony zbudowane w oparciu o złożone szablony komunikatów{{dk}}
* {{s|AmboxProsty}} - prosty szablon komunikatów informacyjny, używający klas szablonu {{s|Ambox}}, stosowany w artykułach w przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}.
; Szablony komunikatów - kombajny{{dk}}
* {{s|Mbox}} - szablon komunikatów kombajn wywołujący, złożone szablony komunikatów, w zależności od ustawionej przestrzeni nazw od szablonów {{m|Pudełko}} lub w jakiej przestrzeni się znalazł, szablon wykorzystywany w różnych {{lpp|Przestrzeń nazw|przestrzeniach nazw}}, automatycznie wybiera odpowiedni szablon komunikatów dla danej przestrzeni nazw.
; Szablony stron ujednoznaczniających i przekierowań na inne szczegółowe strony ze stron ogólnych{{dk}}
* {{s|Dmbox}} - szablon komunikatów umieszczany na tych stronach,
* {{s|Ujednoznacznienie}} - szablon umieszczany na stronach ujednoznaczniających, zwyczajowo na górze strony,
* {{s|Przekierowanie}} - szablon wstawiany na samej górze do stron głównych książek, do których istnieje przekierowanie, które z kolei posiada jeszcze własną {{lpr|Strona ujednoznaczniająca|stronę ujednoznaczniającą}},
* {{s|Inne znaczenia}} - szablon stron ujednoznaczniających kierujących do innych znaczeń danego pojęcia,
* {{s|Nie mylić z}} - szablon ostrzega przed myleniem jakiegoś pojęcia z innym,
* {{s|Linki niejednoznaczne}} - szablon używany, gdy nie udało się wybrać właściwego znaczenia spośród dostępnych na stronie ujednoznaczniające.
; Inne szablony - kombajny{{dk}}
* {{s|Mbox-strona}} - szablon komunikatów taki jak: {{s|Mbox}}, z wiadomością, tylko, że jest to ramka pływająca umieszczona z prawej strony.
;; Szczególne stronicowe szablony komuniaktów{{dk}}
* {{s|Wymaga znajomości}} - szablon komunikatów zbudowany w oparciu o: {{s|Mbox-strona}}, z parametrem: {{Parametr|typ|notatki}}, linkujący do artykułu.
; Inne{{dk}}
* {{lpr|Szablony komunikatów|Wikipedia:Szablony komunikatów}}.<!---
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Mbox}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
n8bmp8imfb5j3zgguh64xu2cgkj1y2e
Szablon:Mbox/opis/CSS
10
63611
558103
544514
2026-09-30T13:06:30Z
Persino
2851
558103
wikitext
text/x-wiki
<includeonly>
Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników.
Klasy CSS mogą być użyte także bezpośrednio w tabelkach:
{{Pre|
{{s|Tabelka|klasa{{=}}mbox mbox-content{{#switch:{{ROOTPAGENAME}}
|#default=
|Ambox= ambox ambox-content
|Tmbox= tmbox tmbox-content
|Fmbox= fmbox fmbox-content
|Imbox= imbox imbox-content
|Cmbox= cmbox cmbox-content
|Ombox= ombox ombox-content
}} box-mobilne|<nowiki><!--
--></nowiki>{{s|Wiersz|<nowiki><!--
--></nowiki>{{s|Komórka|klasa{{=}}mbox-image{{#switch:{{ROOTPAGENAME}}
|#default=
|Ambox= ambox-image
|Tmbox= tmbox-image
|Fmbox= fmbox-image
|Imbox= imbox-image
|Cmbox= cmbox-image
|Ombox= ombox-image
}}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!--
--></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!--
--></nowiki>}}<nowiki><!--
--></nowiki>}}
}}
{{Tabelka|klasa=mbox mbox-content {{#switch:{{ROOTPAGENAME}}
|#default=
|Ambox=ambox ambox-content
|Tmbox=tmbox tmbox-content
|Fmbox=fmbox fmbox-content
|Imbox=imbox imbox-content
|Cmbox=cmbox cmbox-content
|Ombox=ombox ombox-content
}} box-mobilne|<!--
-->{{Wiersz|<!--
-->{{Komórka|klasa=mbox-image {{#switch:{{ROOTPAGENAME}}
|#default=
|Ambox=ambox-image
|Tmbox=tmbox-image
|Fmbox=fmbox-image
|Imbox=imbox-image
|Cmbox=cmbox-image
|Ombox=ombox-image
}}|{{Ikona|pomuwaga|35}}}}<!--
-->{{Komórka|Jakiś tekst}}<!--
-->}}<!--
-->}}
Ten szablon używa klas CSS {{ls|{{ROOTPAGENAME}}}} styli lokalnych: {{ls2|{{ROOTPAGENAME}}/styles.css}}, więc jest w pełni skórkowalny.
Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach.
Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które {{NS|k=mw|l=tak}} renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon.
Więcej szczegółów technicznych znajdziesz na {{ls|{{ROOTPAGENAME}}|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów.<!---
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''' itp., do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
pje6o3oau45niiuo8rywx955gme4xbi
Szablon:DNU/opis/Zobacz też
10
63613
558105
544537
2026-09-30T13:10:22Z
Persino
2851
558105
wikitext
text/x-wiki
<includeonly>
Zobacz też dokumentację szablonów:
* {{s|DNU}} - używany, gdy trwa dyskusja nad usunięciem lub naprawieniem strony, albo w sytuacji, gdy zakończone dyskusją z ustaleniem, co należy dalej zrobić,
* {{s|SdU}} i {{s|DoSkasowania}} - używany, gdy trwa trwa dyskusja nad usunięciem lub naprawieniem strony, podobnie jak {{s|DNU}},
* {{s|SdUwynik}} - używany w sytuacji, gdy ustalono, co dalej trzeba zrobić ze stroną, podobnie jak {{s|DNU}},
* {{s|Kasowanie po przeniesieniu}} i {{s|Kpp}} - powiadamia autora podręcznika lub artykułu, nawet dla dzieci, albo pliku przed jakim czasem może skopiować zawartość (ten plik) przed jego skasowaniem,
* {{s|Ek}}, {{s|Ek2}} i {{s|Delete}} - używany do zgłoszenia strony, ale nie podręcznika, do usunięcia przez {{lr|Administratorzy|administratora Wikibooks}},
* {{s|NPA}} i {{s|NPA całość}} - używane do zgłaszanie naruszenia praw autorskich (NPA) przez artykuł i podręcznik w przestrzeni nazw: {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}, lub plik w przestrzeni nazw: {{Np|File|link=tak}}, kolejno wstawiane ręcznie lub przez bota,
* {{s|Zgłoś błąd}} i {{s|ZB}} - używane do zgłaszania błędów.
* {{lpr|Zasady ekspresowego kasowania|Wikipedia:Zasady ekspresowego kasowania}}
* {{lpr|Narzędzia/QuickEK|Wikipedia:Narzędzia/QuickEK}}<!---
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|DNU}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
0bpo12psdkh2pziag4cukwc9a68xuv1
Szablon:Link wewnętrzny/opis/Zobacz też
10
63615
558102
544585
2026-09-30T13:05:03Z
Persino
2851
558102
wikitext
text/x-wiki
<includeonly>
=== Zwykłe szablony linków ===
; Ogólne szablony linków inteligentnych, kolorujących linki, w zależności do jakiej kategorii one należą, w tym celu wykorzystuje projekt {{NS|k=d|l=tak|pk=m}}{{dk}}
* {{s|LinkOgólne}} (skrót: {{s|lo}}) - najogólniejszy szablon linków, budulec innych szablonów linków, w tym również {{s|LinkUstęp}} (skrót: {{s|lu}}), i pośrednio innych podobnych tego typu,
* {{s|LinkOgólne2}} (skrót: {{s|lo2}}) - jest to szablon linków, oparty o szablon {{s|LinkOgólne}} (skrót: {{s|lo}}), wyświetla link, przy niepodanym drugim parametrze, z nazwą przestrzeni nazw strony,
* {{s|Link wewnętrzny}} (skrót: {{s|ly}}) - szablon służy do budowania linków inteligentnych, szablon nie ma parametru nazwy przestrzeni nazw, w przeciwieństwie do {{s|LinkOgólne}} (skrót: {{s|lo}}),
* {{s|Sekcja referencyjna}} (skrót: {{s|sr}})- szablon sekcji podręczników, używana w ramach jednej książki, szablon na substronie: {{Code|Wersja do druku}} lub równej {{Tt|subnazwie książki}}, albo na {{Tt|rozdziałowych stronach zbiorczych}}, wyświetla tylko linki manewrowania po całej tej stronie, a wewnątrz podręcznika, pomiędzy jego artykułami,
* {{s|LinkURL}} (skrót: {{s|lz}}) - szablon tworzy, pełny adres URL, na podstawie użytych parametrów.
=== Szablony ustępu ===
; Szablony ogólne linków do ustępu{{dk}}
* {{S|LinkUstęp}} (skrót: {{s|lu}}) - szablon ogólny, budulec do tworzenia innych szablonów do ustępu na danej stronie.
; Szablony linków, do ustępu, wewnętrznych, z opcją do odwołania się do serwisów siostrzanych lub wersji językowych, polskiego {{NS|l=tak}}{{dk}}
* {{s|LinkGłównaUstęp}} (skrót: {{s|lgu}}), {{s|LinkWikijuniorUstęp}} (skrót: {{s|lju}}), {{s|LinkSzablonUstęp}} (skrót: {{s|lsu}}), {{s|LinkModułUstęp}} (skrót: {{s|ldu}}), {{s|LinkPomocUstęp}} (skrót: {{s|lpu}}), {{s|LinkProjektUstęp}} (skrót: {{s|lru}}), {{s|LinkKategoriaUstęp}} (skrót: {{s|lku}}), {{s|LinkUżytkownikUstęp}} (skrót: {{s|lżu}}) i {{s|LinkSpecjalnaUstęp}} (skrót: {{s|lcu}}) - szablony linku do stron, do ustępu, w przestrzeni nazw kolejno: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, {{Np|Template|link=tak}}, {{Np|Help|link=tak}}, {{Np|Project|link=tak}}, {{Np|Category|link=tak}}, {{Np|User|link=tak}} i {{Np|Special|link=tak}}, domyślnie na polskim {{NAZWASERWISU|link=tak|po=ie}}.
; Szablony odwołujące się do do stron, do ustępu, serwisu{{dk}} polskiej {{NS|l=tak|k=w|pk=d}}, projektu siostrzanego polskiego {{NAZWASERWISU|link=tak}}{{dk}}
* {{S|LinkPediaGłównaUstęp}} (skrót: {{s|lpgu}}), {{s|LinkPediaSzablonUstęp}} (skrót: {{s|lpsu}}), {{s|LinkPediaPomocUstęp}} (skrót: {{s|lppu}}) i {{s|LinkPediaProjektUstęp}} (skrót: {{s|lpru}}) - szablony linku do stron, do ustępu, w przestrzeni nazw kolejno: {{NpDane|(main)|klucz projektu=w|link=tak}}, {{NpDane|Template|klucz projektu=w|link=tak}}, {{NpDane|Help|klucz projektu=w|link=tak}} i {{NpDane|Project|klucz projektu=w|link=tak}}, na polskiej {{NS|l=tak|k=w|pk=d}}.
=== Czyste bezznacznikowe linki uzyskane z podanego wikitekstu ===
; Szablony wydobywające linki{{dk}}
* {{s|WydobądźLinki}} - wydobywa linki wewnętrzne i zewnętrzne, jeżeli występują.
=== Inne ===
; Kategorie skojarzone z szablonem{{dk}}
* Szablon zgłasza błędy parametrów w kategorii: {{lk2|Szablon {{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^(.[%l%s]*)$}}|{{lcfirst:{{ROOTPAGENAME}}}}|{{ROOTPAGENAME}}}} do sprawdzenia}} (Liczba stron: {{Łączna_liczba_stron_w_kategoriach|Szablon {{#if:{{Dopasuj|ciąg={{ROOTPAGENAME}}|wzór=^(.[%l%s]*)$}}|{{lcfirst:{{ROOTPAGENAME}}}}|{{ROOTPAGENAME}}}} do sprawdzenia}}).<!---
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Link wewnętrzny}} (skrót: {{s|ly}}).}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
7q1dt6qau9zxd4pdso98wzrhphpot3s
Szablon:Link FA/opis
10
63838
558113
553794
2026-09-30T13:46:39Z
Persino
2851
/* Opis parametrów */
558113
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
; Zastosowanie szablonu
* umieszczamy w linkach w identyfikatorze,
* używany do zaznaczenia jednego z istniejących linków interwiki jako nagrodzonego na innym {{NS|l=tak|w=tak|pk=mj}}.
== Opis parametrów ==
; Parametry podstawowe
* {{Code|1}} - kod języka projektu językowego odpowiednika polskiego {{NS|l=tak|w=tak|pk=d}},
* {{Code|linia}} - lub gdy ten szablon ma być umieszczony nie w sekcji interwiki, tylko w tekście.
; Parametry dodatkowe
* {{Code|styl plik}} - styl dla ramki z plikiem,
* {{Code|styl tekst}} - styl, dla znacznika {{s|span}}, dla całości i ramki z tekstem,
* {{Code|id}} - zastępczy identyfikator plik.
; Parametry pudełkowe
* {{Code|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} - parametry pudełkowe modułu: {{Code|{{m|Pudełko}}}}, '''nazwy przestrzeni nazw''' (jest to przestrzeń nazw) i '''nazwy jednostki''' (jest to nazwa strony bez przestrzeni nazw), one symbolizują adres danej pozycji z przestrzeni książkowych.
== Przykład ==
* {{s|Link FA|de}} - wynik wywołania jest pokazany na górnym prawym rogu strony, w jej linii tytułu lub nad stroną.
{{Link FA|de|nazwa przestrzeni nazw=(main)|nazwa jednostki=Mechanika kwantowa}}
* {{s|Link FA|de|linia{{=}}tak}} - wynik: {{Link FA|de|linia=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Mechanika kwantowa}}.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"1": {
"description": "Kod języka projektu językowego dla innych wersji polskiego Wikibooks.",
"type": "string",
"required": true
},
"linia": {
"description": "Gdy ten szablon ma być umieszczony nie w sekcji interwiki, tylko w tekście.",
"type": "string"
},
"styl plik": {
"description": "Style, kaskadowych arkuszy stylów CSS, dla pliku.",
"type": "string"
},
"styl tekst": {
"description": "Style, kaskadowych arkuszy stylów CSS, dla całości i ramki z tekstem.",
"type": "string"
},
"id": {
"description": "Zastępczy identyfikator pliku.",
"type": "string"
},
"nazwa przestrzeni nazw": {
"description": "Nazwa przestrzeni nazw strony symulująca stronę bieżącą.",
"type": "string"
},
"nazwa jednostki": {
"description": "Nazwa jednostki (nazwa strony bez przestrzeni nazw) strony symulująca stronę bieżącą.",
"type": "string"
}
},
"description": "Umieszczamy w linkach w identyfikatorze lub w tekście po podaniu: „|linia=tak”. Używany do zaznaczenia jednego z istniejących linków interwiki jako nagrodzonego na innych Wikibooks."
}
</templatedata>
== Zobacz też ==
{{Link FA/opis/Zobacz też}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe woluminów}}
</includeonly>
lk0j8zqyjz7ki6itkwbz5qa1dw3m7mk
Wikibooks:Moduły/StronicowyParser/Rozdziały/Tom V/Część I
4
63907
558120
556358
2026-09-30T17:34:01Z
Persino
2851
/* Zmiana tekstu (Krok 1) - Upraszczanie jakikolwiek linii do najprostszej możliwej postaci, aby było możliwe rozpoznanie pewnych obiektów, nie tylko linkowych przez {{ld|StronicowyParser|Stronicowy parser}} */
558120
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Rozdziały}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.IterTekst}}{{Code|p.IterTekst}} ==
Funkcja zwraca iterator, która jest funkcją, z zerową listą parametrów, a on zwraca napis wprowadzenia tekstu i jego tekst rozdziału wraz z innymi parametrami charakteryzujący ten rozdział.
Przed uruchomieniem iteratora, gdy tekst jest zakodowany, funkcja modyfikuje nagłówki i ich zawartości rozdziałów, upraszczając je na maksimum do ich zmodyfikowanej zawartości jego elementy, zostawiając jedynie zakodowane, to co wskazuje na odpowiednie linki wewnętrzne i zewnętrzne, nawet te inteligentne, w tych linkach wszystko jest zakodowane.
Funkcja upraszcza kolejne linie łącząc je odpowiednio między sobą, bez linii, z którymi się nie da się tego zrobic, do tego służy: {{Code|{{sr|#p.IntegrowanieLiniiTekstuWRamachJegoNapisuWprowadzenia|b=tak}}}}.
Funkcja z całego zmodyfikowanego rozdziału wydziela spis treści z linkami, nawet inteligentnymi, korzystając z funkcji: {{Code|__FUNKCJA_ANALIZA_SPISU}} {{LinkPatrz|__FUNKCJA_ANALIZA_SPISU}}, aby dało się z niego wydzielić treściwe rozdziały i artykuły, bez tych zbędnych, aby za pomocą innych funkcji dało się to wszystko poprawnie ponumerować, bez numerowania tego, co jest nie potrzebne.
Ten zwracany iterator ma funkcję, czy rozważać, tylko rozdziały dodatnie równaniowe, czy również dodatnie nierównaniowe (centrowane szablonowo, czy znaczniowo), ujemne (będące częścią pozycji listy) i zerowe (nie są tymi wcześniejszymi), do tego służy zmienna: {{Code|czy_inne_rozdzialy_analizowac}} {{LinkPatrz|czy_inne_rozdzialy_analizowac}}. Ta funkcja za każdym razem uruchomienia tego zwraca inną linie charakteryzująca całą linię rozdziału, i jego wnętrze, i nazwę rozdziału, także zwraca inne parametry, charakteryzujące nagłówek.
* Iterator zwraca {{Code|nil}}, gdy nie znalazł dalej żadnego innego dalszego rozdziału, lub od razu też tą wartość, gdy w całym tekście nie ma żadnego jakikolwiek tego.
Oprócz iteratora funkcja w nagłówku zwraca drugi argument, jako zmodyfikowany tekst, wstępnie przygotowany do dalszej analizy, aby dało się na nim ładnie operować.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,czy_inne_rozdzialy_analizowac,czy_dalej_rozwazac_zakodowane,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA,__FUNKCJA2,__FUNKCJA_ANALIZA_SPISU)
...
return function()
....
return naglowek_tab_aktualnego_rozdzialu,str,poziom_aktualnego_rozdzialu,poczatek_aktualnego_rozdzialu,numeracja_aktualnego_rozdzialu,czy_rozdzial_aktualny_centrowany;
end,tekst_rozwiniety_calego_artykulu;
end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst|StronicowyParser/Rozdziały}}, ale nie musi być tak: {{LinkPatrz|czy_dalej_rozwazac_zakodowane}}, jeśli tekst jest zakodowany, w przeciwnym wypadku nie jest, tylko ten tekst jest zawartością danej strony,
| 2 = Nazwy strony danego określonego spisu: | nagłówek2 = tak
| 3 = {{Code|nazwa_przestrzeni}} - jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Rozdziały}}, {{Code|nazwa_przestrzeni_ksiazki}} | _3 = Jak w: {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Rozdziały}}, {{Code|nazwa_ksiazki}} - jak w: {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Rozdziały}}, {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/Rozdziały}},
| 4 = {{Code|czy_inne_rozdzialy_analizowac}} {{Patrz|czy_inne_rozdzialy_analizowac}} | _4 = Czy ma tylko uwzględniać rozdziały, nie tylko, dodatnie równaniowe,
| 5 = {{Code|czy_dalej_rozwazac_zakodowane}} {{Patrz|czy_dalej_rozwazac_zakodowane}} | _5 = czy tekst {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, ma być zakodowany, a jeśli jest taki, to są robione operacje na liniach, i wydzielonany jest tekst spisu treści z całego tego tekstu,
| 6 = Tablice wynikłe z zakodowanych zmiennych: | nagłówek6 = tak
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}.
| 8 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _8 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Rozdziały}}, {{Code|tab_nazwa_spisow_przekierowaniowych}} - jak w: {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/Rozdziały}},
| 9 = Funkcje iteratora tekstu napisu wprowadzenia tekstu i ich tekstów rozdziałów:|nagłówek9 = tak
| 10 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _10 = Funkcja sprawdza, czy wywołanie szablonowe, czy jest normalnym szablonem, a nie instrukcją warunkową, na podstawie pełnego adresu szablonu, określa i zwraca jego zawartość.
| 11 = {{Code|__FUNKCJA2}} {{Patrz|__FUNKCJA2}} | _11 = Funkcja operująca na przygotowanej zawartości napisu wprowadzenia tekstu i tekście napisu wprowadzenia tekstu (rozdziału),
| 12 = {{Code|__FUNKCJA_ANALIZA_SPISU}} {{Patrz|__FUNKCJA_ANALIZA_SPISU}} | _12 = Funkcja do analizy i modyfikacji tekstu, może zwracać wartość nilową, przed samym wydzieleniem spisu treści, jeżeli pewna funkcja w niej zwróci ściśle określoną wartość, która to właśnie powoduje, że ta właściwa część tej funkcji nie jest uruchamiana, ta inna część funkcja bezpośrednio jest wywoływana w tej funkcji, służy ona do wydzielenia właściwego spisu treści danego spisu treści, tak robimi, uruchamiając funkcję: {{LinkŚródtytuł|p.IterTekst}}, dla każdego takiego spisu w odpowiedni sposób pokazaną w rozdziale: {{Code|{{sr|SpisTreści|p=StronicowyParser}}}}, co jest uwidocznione w module: {{Code|{{ld2|StronicowyParser/SpisTreści}}}}. Jeśli ta funkcja nie istnieje, lub zwraca wartość nilową, to ta zmienna {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}} nie zmienia się, w przeciwnym wypadku, ta ona przyjmuje wartość zwróconą z tej funkcji.
}}
Parametry funkcji zwracanej:
{{OpisParametrów
| 1 = Funkcja nie przyjmuje żadnych parametrów. | nagłówek1 = tak
}}
Jednoczesne parametry zwracane przez funkcję zwracaną:
{{OpisParametrów
| 1 = {{Code|naglowek_tab_aktualnego_rozdzialu}} {{Patrz|naglowek_tab_aktualnego_rozdzialu}} | _1 = To jest tablica numerowana dwuelementowa, którego pierwszym elementem jest nagłówek rozdziału, a druga jest całą jego linią.
| 2 = {{Code|str}} {{Patrz|str}} | _2 = Tekst napisu wprowadzenia tekstu (zawartość rozdziału).
| 3 = {{Code|poziom_aktualnego_rozdzialu}} {{Patrz|poziom_aktualnego_rozdzialu}} | _3 = Poziom aktualnego rozdziału.
| 4 = {{Code|poczatek_aktualnego_rozdzialu}} {{Patrz|poczatek_aktualnego_rozdzialu}} | _4 = Przedrostek aktualnego rozdzialu, dotyczy list, zaczynających się na: {{Code|<nowiki>[;%*:#]</nowiki>}}, {{Code|nil}}, gdy nie ma takiego rozdziału.
| 5 = {{Code|numeracja_aktualnego_rozdzialu}} {{Patrz|numeracja_aktualnego_rozdzialu}} | _5 = Numeracja aktualnego rozdziału, numeracja jest na podczątku rozdziału, a właściwy rozdział dalej, gdy nie ma numeracji, wtedy numeracja jest ciągiem pustym, lub {{Code|nil}}.
| 6 = {{Code|czy_rozdzial_aktualny_centrowany}} {{Patrz|czy_rozdzial_aktualny_centrowany}} | _6 = Przedstawia, czy rozdział jest rozdziałem dodatnim centrowanym znacznikowym lub szablonowym.
}}
=== Wykorzystywane tablice w {{lpg|Lua}} w {{lpr|Lua|Scribunto}} ===
Te tablice są zdefiniowane w: {{Code|{{ld2|StronicowyParser/obiekty}}}}.
==== Szablony i znaczniki, wyróżniające linie, które są rozdziałami ====
Pierwszą tablicą jest {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}} słążaca do wskazania rozdziałów centrowanych. A ich odpowiedniki w postaci znacznikowych nagłówków są w: {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}.
==== Szablony, projektów i tekstów, usuwane z tekstu ====
Szablony, które są usuwane z tekstu są zdefiniowane w {{Patrz|p.szablony_do_usuwania_z_tekstu}}:
<syntaxhighlight lang="lua">
p.szablony_do_usuwania_z_tekstu={
--- szablony książkowe umieszczane na stronie głównej podręcznika
["Kolekcja"]=true,
["TODO"]=true,
["Wersja do druku"]=true,
--- szablony typowo linkowe
["Dane tekstu"]=true,
--- szablony linkowania do innych projektow
["MediaWiki"]=true,
["Wikipedia"]=true,
["Wikipedia kat"]=true,
["Wikipedia2"]=true,
["Commons"]=true,
["Commons ilustr kat"]=true,
["Commonsall"]=true,
["Commonscat"]=true,
["Wikiatlas"]=true,
["Wikicytaty"]=true,
["Wikicytaty przysłowia"]=true,
["Inkubator"]=true,
["Meta"]=true,
["Wikinews"]=true,
["Wikinewscat"]=true,
["Wikinewsy"]=true,
["Portal Wikinews"]=true,
["Wikisłownik"]=true,
["Wikisłownik-cat"]=true,
["Wikimedia"]=true,
["Multiwmpl"]=true,
["Wikipodróże"]=true,
["Wikispecies"]=true,
["Multisource"]=true,
["Wikiźródła"]=true,
["Wikiźródła autor"]=true,
["Wikiźródła kat"]=true,
["Wikiźródła kuch kat"]=true,
["Wikiźródła krótki"]=true,
["Wikisource-lang"]=true,
};
</syntaxhighlight>
Ona jest opisana w: {{Code|{{sr|#p.szablony_do_usuwania_z_tekstu|p=StronicowyParser/obiekty}}}}, przedstawia ona szablony projektów zdefiniowane na stronie {{s|MediaWiki}}.
Aby w końcowych rozważaniach w napisie wprowadzenia tekstu i tekście rozdziału, aby były bez nich, by analiza tekstu przebiegała bezproblemowo, by z niego dało się wykryć poszczególne rozdziały linie i w nich artykuły, a także w liniach w nierozdziałach, wykryć artykuły w nich.
==== Szablony, z których z których zostawiane są tylko zawartości ====
Z rozważanego tekstu są usuwane elementy przy pomocy tablicy: {{LinkPatrz|p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu|StronicowyParser/Rozdziały/Tom III}}, która jest wykorzystywana przez funkcję: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}.
==== Inne szablony usuwane z tekstu ====
Tą tablicą, opisana w: {{Code|{{sr|#p.szablony_bez_generowania_napisowego|p=StronicowyParser/obiekty}}}}, jest o definicji {{Patrz|p.szablony_bez_generowania_napisowego}}:
<syntaxhighlight lang="lua">
p.szablony_bez_generowania_napisowego={
["Status"]=true,
};
</syntaxhighlight>
Przedstawia ona treści, szablony o pewnych nazwach, które z tworzącymi ich wywołaniami są usuwane z rozważanego tekstu. Są to szablony, które nie generują napisów wprowadzenia tekstu.
Inną tablicą, która przedstawia elementy do usuwania z tekstu, czyli o szablony o jakiś nazwach, opisana w: {{Code|{{sr|#p.szablony_nie_typowo_linkowe|p=StronicowyParser/obiekty}}}}, mającą określenie {{Patrz|p.szablony_nie_typowo_linkowe}}:
<syntaxhighlight lang="lua">
p.szablony_nie_typowo_linkowe={
["Plik"]=true,
["Kategoria"]=true,
["Kategorie"]=true,
["Wolumin"]=true,
["SortWolumin"]=true,
["SortKuchWolumin"]=true,
};
</syntaxhighlight>
Są to nazwy szablonów istniejących, którego na podstawie tego można stworzyć wywołania zawarte w tekście, które należy usunąć z niego. Są to szablony, które nie generują linków do artykułów jakiegoś podręcznika.
==== Znaczniki szablonowe ====
Definicję, jakie szablony uznać za znaczniki szablonowe, jest napisane w {{Patrz|p.znaczniki_szablonowe}}:
<syntaxhighlight lang="lua">
p.znaczniki_szablonowe={
["Znacznik"]=1,
["Div"]=1,
["Code"]=1,
["Tt"]=1,
["P"]=1,
["Sub"]=1,
["Sup"]=1,
["Span"]=1,
["Bdo"]=1,
["Small"]=1,
["Big"]=1,
["Strong"]=1,
};
</syntaxhighlight>
Opisana jest w: {{Code|{{sr|#p.znaczniki_szablonowe|p=StronicowyParser/obiekty}}}}. Są to odpowiedniki znaczników {{Strong|HTML}}, one po rozwinięciu właście to tworzą. One są usuwane odpowiednio z tekstu, tzn. ich zawartości sa pozostawiane, numer tego przedstawia, numer parametru tych szablonów, wartość tabeli o kluczu równym nazwie tego szablonu, to jest właśnie to.
==== Szablony generujące poziomy o dowolnym poziomie ====
Definicję szablonów generujące dowolny poziom napisu wprowadzenia tekstu jest {{Patrz|p.szablony_sztucznego_wprowadzenia_tekstu}}:
<syntaxhighlight lang="lua">
p.szablony_sztucznego_wprowadzenia_tekstu={
["HNumer"]=1,
};
</syntaxhighlight>
Opisana w: {{Code|{{sr|#p.szablony_sztucznego_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}}, przedstawia szablony, która sztucznie generuje niemożliwe poziomy napisów wprowadzenia tekstu. Zawartością tego szablonu o numerze stojącego przy wartości elementów w tej tablicy, jest poziom dodatni o dowolnym poziomie, nie tylko {{Code|<nowiki>0 < pozim <= 6</nowiki>}}, ale też i: {{Code|<nowiki>poziom>6</nowiki>}}.
==== Magiczne derektywy ====
Z tekstu są usuwane magiczne derektywy zdefiniowane w tablicy: {{Code|{{sr|#p.magiczne_derektywy|p=StronicowyParser/obiekty}}}}, ich definicja {{Patrz|p.magiczne_derektywy}}:
<syntaxhighlight lang="lua">
p.magiczne_derektywy={
["TOC"]=true,
["NOTOC"]=true,
["NOEDITSECTION"]=true,
};
</syntaxhighlight>
==== Napisy wprowadzenia tekstu, spisu treści lub spisu rzeczy, wykrywane funkcję ====
Napisy typu: {{Code|Spis treści}} lub {{Code|Spis rzeczy}}, które są wykrywane przez funkcję są zdefiniowane w {{Patrz|p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu}}:
<syntaxhighlight lang="lua">
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={
["spis treści"]=true,
["spis tresci"]=true,
["spis rzeczy"]=true,
};
</syntaxhighlight>
Aby elementy tej tablicy w odpowiednich rozdziałach w całości wykryć, należy użyć metatablicy: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}. Ta tablica jest opisana w: {{Code|{{sr|#p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu|p=StronicowyParser/obiekty}}}}.
==== Artykuły nieartykularne (okładki) ====
Aby funkcja wykryła artykuły, które uznać za nieartykularne, nie za zwykłe artykuły, należy użyć wyrażeń regularnych zdefiniowanych w tablicy {{Patrz|p.artykularne_niespisowe}}:
<syntaxhighlight lang="lua">
p.artykularne_niespisowe={
[1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$",
--[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$",
};
</syntaxhighlight>
Ta tablica jest opisana w: {{Code|{{sr|#p.artykularne_niespisowe|p=StronicowyParser/obiekty}}}}. Ona powoduje, że elementy tego typu nie będą wykrywane w spisie artykułów danego podręcznika, bo np. przedstawiają one okładki tego typu, no bo jak uznać okładki za artykuły.
=== Przykłady ===
Przykładowe użycia:
<syntaxhighlight lang="lua">
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
local __FUNKCJA_PARAMETRY=nil;
local __FUNKCJA_ANALIZA_SPISOWA=function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,szablony_magiczne,tabela_nazw)
return nil;
end;
local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul:RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu,false,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY);
local __FUNKCJA=function(pelna_nazwa_szablonu,tabela_modyfikatorow)
... ---- Funkcja aktualnie nieużywana;
local szablonowe_modul=require("Module:Szablonowe");
if(not szablonowe_modul.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow))then return nil;end;
---
pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu;
local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true);
return tekst;
end;
local __FUNKCJA2=function(str,pelna_nazwa_strony,tablica_analizy_obiektow_strony_dany_modul,czy_naglowek)
...
return str;
end;
local __FUNKCJA_ANALIZA_SPISU=function(tekst_rozwiniety_calego_artykulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local stronicowyparser_analizaspisu_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local tekst=stronicowyparser_analizaspisu_modul.AnalizaSpisuRzeczy(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych);
return tekst;
end;
local iterator,tekst_rozwiniety_calego_artykulu=stronicowyparser_rozdzialy_modul.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,true,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA,__FUNKCJA2,__FUNKCJA_ANALIZA_SPISU);
---- iterator - iterator;
---- tekst_rozwiniety_calego_artykulu - tekst zakodowany maksymalnie zmodyfikowany przyszykowany do dalszej analizy;
local parsuj_rozdzialami=nil;
for rozdzial_tab,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany in iterator do
... --- Gdy tekst ma rozdziały iterowalne;
if(not parsuj_rozdzialami)then parsuj_rozdzialami=true;end
end;
if(not parsuj_rozdzialami)then
... ---- Gdy tekst nie ma rozdziałów iterowalnych;
end;
</syntaxhighlight>
=== Opis dalszy funkcji ===
Liczymy nazwę spisu bez nazwy przestrzeni szablonowej: {{Code|pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej}} {{Patrz|pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej}}, i nazwę szablonową tej strony: {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/Rozdziały}}. W tej ostatniej uwzględniamy również możliwą przestrzeń główną, w której tej ostatniej uwzględniamy sam dwukropek {{Code|:}}, lub inną.
Definiujemy funkcje: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} (usuwa odpowiednie elementy z tabeli parametrów przeanalizowanych z: {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Rozdziały}}, na podstawie {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}) i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}} (usuwa elementy z: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}, bazy danych skonstrułowanych dzięki: {{Code|{{m|Szablonowe}}}}), oraz do nich potrzebne zmienne.
Funkcja decyduje, czy wybrać blok z sekcji: {{Code|czy_dalej_rozwazac_zakodowane}} {{LinkPatrz|czy_dalej_rozwazac_zakodowane}} - czyli czy główny tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, jest zakodowany, czy nie - wtedy nie, gdy to wybieramy kolejno, to ta zmienna przyjmuje wartość {{Code|true}}, w innym wypadku ona odpowiada wartości odpowiadającej fałszywej.
==== Kod z sekcją: {{Code|czy_dalej_rozwazac_zakodowane}} ====
Opis funkcji według tej sekcji dotyczy, gdy zmienna: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, jest zakodowana.
===== Definicje potrzebnych funkcji do opisu działającego kodu =====
Przedstawiamy tutaj definicję lokalnych funkcji.
====== {{Śródtytuł|UsuwanieNowychLiniiZnacznikowe}}{{Code|UsuwanieNowychLiniiZnacznikowe}} ======
Funkcja służy do modyfikacji tekstu tylko ze znacznikami języka: '''{{lpg|HTML}}''' mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''', takich jak: znaczniki '''centrowania''': {{Tag|center}}, i '''nagłówków''': {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, jak i szablonów '''centrowania''': {{s|Ce}}, {{s|Centruj}} i {{s|Center}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function UsuwanieNowychLiniiZnacznikowe(szablon)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szablon}} | _1 = Tekst do zmodyfikowania, jak w: {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, który jest elementem tabeli bazy: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}, modułu: {{Code|{{m|Szablonowe}}}}.
}}
Funkcja korzysta z funkcji: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}.
Funkcja nie zmienia poziomu zakodowania tekstu, tzn. ona służy jedynie do {{ZobaczTeż|elementy usuwane nowe linie}} znajdowania znaczników: {{Tag|br|pojedynczy}} i {{Tag|hr|pojedynczy}}, oraz szablonów: {{Code|{{s|Br}}}} i {{Code|{{s|Hr}}}}, w nim, i zamieniania ich na jedną spację (odstęp).
Funkcja zwraca tak zmodyfikowany tekst, podany jako pierwszy parametr funkcji. Sprawdza, czy one wystąpiły przy {{Code|poziom_iteracji}} {{=}} {{Code|0}}, jeżeli występują, to ta funkcja zwraca drugi wynik w postaci wartości: {{Code|true}}, przeciwnie ta wartość jest: {{Code|nil}}.
====== {{Śródtytuł|UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu}}{{Code|UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu}} ======
Funkcja usuwa elementy, zagnieżdzone, linie charakteryzujące rozdziały - napisy wprowadzenia tekstu, które są znacznikami języka: '''{{lpg|HTML}}''' mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''' wraz zawartością i atrybutami, takich jak {{ZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}}: znaczniki '''centrowania''': {{Tag|center}}, i '''nagłówków''' {{ZobaczTeż|nagłówki}}: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, jak i szablonami '''centrowania''': {{s|Ce}}, {{s|Centruj}} i {{s|Center}}, zastępując je odpowiednimi ich zawartościami, pozostawiając jedną główną nową linię z szablonem lub znacznikiem, centrowania, czy znacznikiem nagłówków: {{LinkZobaczTeż|nagłówki}}, linii, którą jest on charakteryzujący się wnętrzem: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, rodzajem obiektu, dostępne obiekty to: {{Code|SZABLON}} i {{Code|ZNACZNIK}}, i jego numerem: {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/Rozdziały}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu=function(szablon,obiekt,kod)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|szablon-obiekt-kod}}:
{{OpisParametrów
| 1 = {{Code|szablon}} | _1 = Tekst do zmodyfikowania, jak w: {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, lub jego elementy bazy: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/Rozdziały}}.
}}
Funkcja korzysta z funkcji: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}.
Te linie mogą być oznaczone szablonami: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, lub znacznikami: {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}.
Funkcja zwraca tak zmodyfikowany tekst {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, z drugim parametrem {{Code|true}}, jeżeli zagnieżdzone napisy wprowadzenia tekstu wystąpiły, przeciwnie jest zwracany ten sam tekst, bez modyfikacji, co został przyjęty jako pierwszy parametr funkcji, z drugim parametrem {{Code|nil}}.
====== {{Śródtytuł|Modyfikacja}}{{Code|Modyfikacja}} ======
Funkcja usuwa zagnieżdzone napisy wprowadzenia tekstu nierównaniowe: {{LinkZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}} przy pomocy funkcji w pierwszej kolejności: {{LinkŚródtytuł|UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu}}, w drugiej: nowe linie, nawet kresek, czyli: {{LinkZobaczTeż|elementy usuwane nowe linie}}, dzięki: {{LinkŚródtytuł|UsuwanieNowychLiniiZnacznikowe}}, następnie znaki nowych linii języka: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, powstałe przez znak nowej linii: {{Code|<nowiki>\n</nowiki>}} {{Patrz|nowa linia}}, zamieniając to na spację.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local Modyfikacja=function(szablon,obiekt,kod)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = Jakikolwiek parametry, jak w: {{LinkZobaczTeż|szablon-obiekt-kod}}. |nagłówek1 = tak
}}
Funkcja zwraca tekst zmodyfikowany: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}} - pierwszy parametr funkcji, z drugą wartością {{Code|true}}, bo nastąpiła jego zmiana wnętrza, a jeżeli nic się nie zmieniło, to druga wartość jest {{Code|nil}}, a pierwsza wartość, to niezmodyfikowany element, ten pierwszy argument tej funkcji.
====== {{Śródtytuł|UsuwanieZnacznikowe}}{{Code|UsuwanieZnacznikowe}} ======
Główny element: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, który jest pierwszym argumentem tej funkcji, który charakteryzuje się, tym, że jest znacznikiem języka: '''{{lpg|HTML}}''' mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''' wraz zawartością i atrybutami, takich jak {{LinkZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}}: znaczniki '''centrowania''': {{Tag|center}}, i '''nagłówków''' {{LinkZobaczTeż|nagłówki}}: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, jak i szablonami '''centrowania''': {{s|Ce}}, {{s|Centruj}} i {{s|Center}}.
Funkcja korzysta z tabeli: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, dla napisów wprowadzenia tekstu szablonowych, i {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}, dla napisów wprowadzenia tekstu znacznikowych. Te elementy są podane w: {{LinkZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}} - szablony i znaczniki centrowania, i {{LinkZobaczTeż|nagłówki}} - znaczniki nagłówków.
Funkcja sprawdza, czy to jest napis wprowadzenia tekstu szablonowy typu, jedynie w dwóch sprawdzonych zakresach, tzn.: {{Code|SZABLON}}, czy {{Code|ZNACZNIK}}.
* W obu tych rozgałęzieniach funkcji, dla tych elementów z tych tabel, jest uruchamiana procedura modyfikująca: {{LinkŚródtytuł|Modyfikacja}}, która drugim parametrem zawiadamia, czy coś się zmieniło.
* W innych zakresach funkcja nic nie zwraca.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function UsuwanieZnacznikowe(szablon,obiekt,kod,parametr1,parametr2,parametr3)...end;
</syntaxhighlight>
Parametry funkcji {{Nobold|{{ZobaczTeż|parametry znacznikowe}}}}:
{{OpisParametrów
| 1 = Jak w: {{LinkZobaczTeż|szablon-obiekt-kod}}, dla parametrów bazy: {{Code|{{m|Szablonowe}}}}. | komórka1 = tak
| 2 = Parametry w wersji - szablonowe: | nagłówek2 = tak
| 3 = Parametry szablonowe, gdy obiekt wskazany przez zmienną: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}, jest typu: {{Code|SZABLON}}, wtedy one mają taką słuszność:| komórka3 = tak
| 4 = {{Code|parametr1}} {{Patrz|parametr1-szablonowe}} | _4 = To nic innego jak: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/Rozdziały}}, czyli jak nazwa znacznika.
| 5 = {{Code|parametr2}} {{Patrz|parametr2-szablonowe}} | _5 = To nic innego jak: {{Code|nazwa_szablonu}} {{LinkPatrz|nazwa_szablonu|StronicowyParser/Rozdziały}}, czyli zawartość znacznika.
| 6 = {{Code|parametr3}} {{Patrz|parametr3-szablonowe}} | _6 = To nic innego jak: {{Code|tabela_modyfikatorow}} {{LinkPatrz|tabela_modyfikatorow|StronicowyParser/Rozdziały}}, czyli atrybuty znacznika.
| 7 = Parametry w wersji - znacznikowe:| nagłówek7 = tak
| 8 = Parametry znacznikowe, gdy obiekt: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}, jest typu: {{Code|ZNACZNIK}}, tutaj wtedy mamy ów:|komórka8 = tak
| 9 = {{Code|parametr1}} {{Patrz|parametr1-znacznikowe}} | _9 = To nic innego jak: {{Code|nazwa}} {{LinkPatrz|nazwa|StronicowyParser/Rozdziały}}, czyli jak nazwa znacznika,
| 10 = {{Code|parametr2}} {{Patrz|parametr2-znacznikowe}} | _10 = To nic innego jak: {{Code|zawartosc}} {{LinkPatrz|zawartosc|StronicowyParser/Rozdziały}}, czyli zawartość znacznika,
| 11 = {{Code|parametr3}} {{Patrz|parametr3-znacznikowe}} | _11 = To nic innego jak: {{Code|atrybuty}} {{LinkPatrz|atrybuty|StronicowyParser/Rozdziały}}, czyli atrybuty znacznika.
}}
Jeżeli nic się nie zmieniło, to funkcja zwraca wartość: {{Code|nil,true}}, a jeżeli przeciwnie, to wartość zmienioną, ewentualnie ze zmodyfikowaną bazą {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}} (ale zwracane bez niej, a wartość {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, która się wtedy nie zmieniła, bo baza jest teraz inna, jedynie jest brana do obliczeń, aby określić element pierwszy zrzucony przez tą procedurę), z drugą wartością {{Code|true}}.
====== {{Śródtytuł|PrzetwarzanieZnacznikowe}}{{Code|PrzetwarzanieZnacznikowe}} ======
Funkcja do przetwarzania ciągu (modyfikowanej treści), do odpowiedniego ustawiania linii.
; Funkcja służy do tego{{dk}}
* Jeżeli napotkała znaki listy na początku nowej linii, to usuwana jest jego magiczność, aby to nie znaczyło, tyle co pozycje listy,
** Bo ten element może się znaleźć bezpośrednio lewego końca znacznika - ten znacznik boże być obiektem typu {{Code|ZNACZNIK}} lub {{Code|SZABLON}}, czyli wtedy jest znacznikiem szablonowym, które te elementy tyle znaczą co nic, ale po zastąpieniu tego jego zawartością, one nabierają magiczności, którą z racji tego trzeba usunąć magię tego.
* Element znajduje się na początku komórki tabeli, wtedy ten sam problem, czyli wtedy po usunięciu tabeli, zdobywa to magiczność, bo w znaczniku lub w komórce nie były one magiczne, robiąc pewne operacje.
* Funkcja zamienia wszystkie kody '''{{lpg|HTML}}''' spacji, na jedną odstępową spację, by udało się w pełni sprawdzenie {{LinkPatrz|pozycje listy}}, bo tam na początku może występować dowolna liczba odstępów: {{Code|<nowiki>%s</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local PrzetwarzanieZnacznikowe=function(komorka,nie_trimowanie)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|komorka}} | _1 = Przetwarzana komórka - linia,
| 2 = {{Code|nie_trimowanie}} | _2 = Czy jest włączona możliwość nie trimowania komórki, zaprzeczenie tego,czy ma trimować.
}}
Funkcja znaki odstępu dyktowane kodami: {{Code|{{Nowiki| }}}}, {{Code|{{Nowiki| }}}} i {{Code|{{Nowiki| }}}}, są zastępowane na pojedynczą spację, te spacje mogą być pokolei dla każdego kodu {{Strong|HTML}}. To już zamienione przypisuje pod starą wartością {{Code|komorka_stara}}, a ta nowa {{Code|komorka}}, ta zmieniona, jest trimowana, jeżeli ta funkcja w tej funkcji jest włączona poprzez zaprzeczenie drugiego parametru tej funkcji, którego tutaj powinna przyjmować nie wartość prawdziwą, czyli czy ma trimować.
Jeżeli wyrażenie pasuje do starej wartości: {{Code|<nowiki>^%s*[#%*:;>]</nowiki>}} {{Patrz|pozycje listy}}, czyli są to w nawiasie kwadratowym elementy pozycji listy i nie tylko, to na poczatek tego nowego jest dodawany pojedynczy odstęp.
Jeżeli trimowanie jest włączone, to na poczatek są dodawane dwa znaki nowej lini: {{Code|<nowiki>\n</nowiki>}}, a na końcu ta jedna, i to jest zwracane - zmodyfikowana wartość {{Code|komorka}}, w przeciwnym razie zwracana jest wartość równa otrzymanej nowej wartości tego czegoś, czyli też {{Code|komorka}}.
====== {{Śródtytuł|ZamienNaKody}}{{Code|ZamienNaKody}} ======
Funkcja zamieniająca odpowiednie znaki na znaki kodu {{Strong|HTML}}.
Gdy pozycje listy lub element rozdziału dodatniego równaniowego jest na początku elementu, tzn. to: {{LinkPatrz|pozycje magiczne}}, gdy znajduje się w znaczniku normalnym typu {{Code|ZNACZNIK}} lub szablonowym {{Code|SZABLON}} (te znaczniki są w kategorii: {{lk2|Szablony znaczników}}), na początku jego, to nie ma żadnej magiczności, po zastąpieniu tego jego zawartością, to to nabiera nakiego nasycenia, ale to aby nie było to takie, to te znaki zastępujemy kodami '''{{lpg|HTML}}'''.
Podobnie jest ze znakiem {{Code|{{=}}}}, według: {{LinkPatrz|rozdziały magiczne}} na końcu tego elementu w przypadku rozdziału równaniowego dodatniego, wtedy w tej linii, nie ma już takiego rozpoznanego rozdziału wykrywanego przez '''{{ld|StronicowyParser|Stronicowy parser}}'''.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function ZamienNaKody(zawartosc,czy_szablon)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|zawartosc}} | _1 = Zawartość modyfikowana, działa podobnie jak w: {{LinkPatrz|zawartosc|StronicowyParser/Rozdziały/Tom II}}
| 2 = {{Code|czy_szablon}} {{Patrz|czy_szablon}} | _2 = Czy zawartość modyfikowana jest od szablonu.
}}
Funkcja sprawdza, czy pierwszy znak linii jest nową linią, jeśli nie, to znaki przechwytywane z: {{Code|<nowiki>^([=%*#:;])</nowiki>}} {{Patrz|pozycje magiczne}}, są zamieniane na kody {{Strong|HTML}}.
Funkcja sprawdza, czy ostatni znak linii jest nową linią, jeśli nie, to znaki przechwytywane z pierwszego ciągu z: {{Code|<nowiki>([=])([^%S\n]*)$</nowiki>}} {{Patrz|rozdziały magiczne}}, są zamieniane tak jak poprzednio.
Funkcja w ten sposób zwraca zmodyfikowaną zawartość, jeśli były elementy nabierające magicznego kontrastu, lub nie.
====== {{Śródtytuł|LiniaRozdzialyDodatnieOrazUjemne}}{{Code|LiniaRozdzialyDodatnieOrazUjemne}} ======
Funkcja modyfikująca poszczególne linie według odpowiedniego schematu, czyli na podstawie odpowiedniego wzoru {{LinkPatrz|wzor}}, i sprawdza odpowiednio, czy tą linią jest rozdział dodatni równaniowy {{LinkPatrz|czy_rozdział_dodatni}}.
; Funkcja w przypadku rozdziału dodatniego równaniowego (typu, że po obu stronach linii znajdują się znaki {{Code|{{=}}}}, a w wewnątrz tekst) i te będące znakami listy (przypominające rozdziały ujemne){{dk}}
* Rozpoczynające się na: {{Code|<nowiki>[%*#;:]</nowiki>}}, modyfikują je, aby nie było w nim innych rozdziałów dodatnich, ani ujemnych, rozdziałów centrowanych szzablonowych: {{s|Ce}}, {{s|Centruj}} i {{s|Center}}, według: {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, oraz znacznikowych centrowania: {{Code|center}}, i znaczników nagłówków: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, według: {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}},
* Jak i znaczników nagłówków szablonowych jak: {{s|HNumer}}, a w nim we wnętrzu według jego definicji jest dowolna liczba równa się po lewej i po prawej stronie jego, co symbolizuje rozdział dodatni równaniowy, chociaż, nie do końca nim jest,,
** Funkcja zastąpuje je ich zawartościami, i zastępując wszystkie znaczniki nowych linii {{Tag|br}} i kresek {{Tag|hr}}, czy szablony kolejno: {{s|Br}} i {{s|Hr}}, wtedy w głównym rozdziale dodatnim, czy przypominającym ujemnym, tego już nie ma, i mamy czyste te, które pisze się dokładnie jedną linią, a nie wieloma.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function LiniaRozdzialyDodatnieOrazUjemne(wzor,czy_dodatni_rozdzial)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|wzór}} {{Patrz|wzor}} | _1 = Wzór przetwarzający linię, możliwe dostępne są dwa wzory: {{Code|<nowiki>^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$</nowiki>}} (symbolizuje rozdział dodatni równaniowy) i {{Code|<nowiki>^([%*#;:]+[^\n]*)$</nowiki>}} (symbolizuje rozdziały ujemne, napisane za pomocą pozycji listy).
| 2 = {{Code|czy_rozdział_dodatni}} {{Patrz|czy_rozdział_dodatni}} | _2 = Czy linia reprezentuje rozdział dodatni równaniowy.
}}
Funkcja wydziela poszczególne linie wewnątrz siebie, i za pomocą pewnej funkcji wkładanej do niego jako drugi parametr, robi operacje na nich. Tą funkcją jest: {{Code|{{sr|#p.ZamianaZnakowaLinii|p=Szeregi}}}}.
Dla lini pasujących do wzoru {{LinkPatrz|wzor}}, to linie są kompletowane, używając funkcji: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}} (funkcja wykorzystuje procedury: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}}, i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}), a w nim dla elementu: {{Code|SZABLON}} i {{Code|ZNACZNIK}}, jest robione, co w nagłówku powiedziane jest, a dla znaczników mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''', obiektów {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}} równym: {{Code|PRE}}, {{Code|ŹRÓDŁO}}, {{Code|NOWIKI}}, są specjalne znaki znacznika: {{Tag|nowiki}}, są zamieniane na kody '''{{lpg|HTML}}''', dla znaków: {{Code|<nowiki>[%!{}|=<>%[%]]</nowiki>}}, na podstawie wywołanej tam funkcji: {{Code|{{sr|#p.ZnakiSpecjalneTaguNowiki|p=Html}}}}, co później w ostatecznym tym elemencie znak nowej linii: {{Code|<nowiki>\n</nowiki>}}, jest zastąpiony jedną spacją. A gdy jednak te znaczniki nie mają zawartości, to są zastępowane ciagiem pustym.
===== Dalszy opis =====
Przed uruchomieniem głównego iteratora zwracanej przez tą funkcję, ona przez nią musi przejść przez te kroki, aby wyedytować odpowiednio tekst {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}.
====== Zmiana tekstu (Krok 1) - Upraszczanie jakikolwiek linii do najprostszej możliwej postaci, aby było możliwe rozpoznanie pewnych obiektów, nie tylko linkowych przez {{ld|StronicowyParser|Stronicowy parser}} ======
{{Tab}}Uruchamiamy funkcję: {{Code|{{sr|#p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu|p=Szablonowe}}}}, która służy do kodowania szablonów referencji: {{s|R}}, {{s|RN}} i {{s|RNota}}, {{s|U}}, {{s|UN}} i {{s|UNota}}, {{s|O}} i {{s|Ref}} oraz {{s|Refn}}, znaczniki '''mechanizmu {{NS|k=mw|w=tak|l=tak}}''': {{Tag|ref}}, a także dopisująca linkom zewnętrznym nienazwanym ich numerkowe nazwy, by napisać ich numerki uruchomień, aby się zgadzała ich kolejność, a te elementy za to referencji są zamieniane w odpowiednie kody {{Strong|HTML}}, w innych przypadkach uruchamia się funkcja: {{Code|__FUNKCJA_INNE_OPERACJE}} {{Patrz|__FUNKCJA_INNE_OPERACJE}} (która robi inne operacje, które wykorzystamy do definicji funkcji tutaj, która coś robi), która jest zdefiniowana na zewnętrz tej funkcji. Funkcja wykorzystuje też: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}, zdefiniowane w opisywanym module.
{{Tab}}Funkcja ta doprowadza, za pomocą funkcji: {{Code|__FUNKCJA_INNE_OPERACJE}} {{LinkPatrz|__FUNKCJA_INNE_OPERACJE}} - pierwsza funkcja w niej, do najprostrzej postaci wikitekst zakodowany: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, aby w tekście były tylko linki szablonowe, nawet iteligentne, bądź spisowe, czy typu linki wewnętrzne {{Code|LINKW}}, a nawet zewnętrzne {{Code|LINKZ}}: i rozdziały niezależnie jak są reprezentowane, czy znacznikowo, czy szablonowo, i niektóre inne, aby one były w najprostrzej postaci, aby nie było rozdziałów zagnieżdżonych jeden w drugim, szablony typu stucznego reprezentowania rozdziałów dodatnich równaniowych, są zastępowane ich zawartościami. W rozdziałach szablonowych mogą być linki, niezależnie jakie.
{{HNumer|1=
======= Opis funkcji {{nobold|{{Code|__FUNKCJA_INNE_OPERACJE}} {{LinkPatrz|__FUNKCJA_INNE_OPERACJE}}}}, a w nim jest, jako pierwszy argument modyfikowany tekst wnętrzna elementu innego niż przypadek szablonów i znaczników referencji - nazwane i nienazwane =======
}}
Funkcja się uruchamia, wtedy kiedy mamy do czynienia z szablonami innymi niż referencje nazwane i nienazwane, podobnie w przypadku znaczników innych niż referencje. Ona też działa w pozostałych przypadkach.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function(szablon,obiekt,kod,parametr1,parametr2,parametr3,tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = Parametry podstawowe: | nagłówek1 = tak
| 2 = Parametry tej funkcji, jak w: {{LinkZobaczTeż|parametry znacznikowe}}. | komórka2 = tak
| 3 = Inne parametry: | nagłówek3 = tak
| 4 = {{Code|tekst}} | _4 = Jak w: {{LinkPatrz|tekst|StronicowyParser/Rozdziały}}.
}}
Funkcja modyfikuje wnętrza obiektów: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}, o typie:
* {{Code|SZABLON}} - pewne szablony są zastępowane ich wnętrzem lub są zastępowane ciągiem pustym,
** Szablony typu: {{s|HNumer}}, jeśli można są modyfikowane,
** Szablony cenntrowania z: {{s|Ce}}, {{s|Centruj}} i {{s|Center}}, według: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, są zachowywane, chyba że w swojej zawartości mają inne rozdziały dodatnie równaniowe i pozycje listy, wtedy one są zachowywane ich zawartościami.
* {{Code|ZNACZNIK}} - elementy ze znacznikami są zastępowane ich zawartościami, a znaczniki typu:
** centrowania: {{Tag|center}} i nagłówków: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, według: {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}, są zachowywane, lub zastępowane ich zawartościami, jeśli w sobie mają rozdziały dodatnie równaniowe lub pozycje listy.
* {{Code|INNEPRE}} - składająca się z samych odstępów są zastępowane ciągiem pustym, a inne ich zawartościami,
* {{Code|LINKW}} i {{Code|LINKZ}} - w nich znaczniki normalne są zastępowane ich zawartościami, lub one znaczniki nowych linii: {{Tag|br}}, i kresek: {{Tag|hr}}, są zamieniane na spacje, i analogicznie podobnie znaczniki szablonowe i też szablony nowych linii: {{s|Br}}, i kresek: {{s|Hr}},
* {{Code|WIKITABELA}} - komórki, w niej, są upraszczne do zbioru nowych linii, aby była zachowana, kolejność wierszy i komórek.
; Szablony i znaczniki nagłówków jakie modyfikujemy w funkcji są{{dk}}
* Elementy do centrowania obiektów na stronie '''{{lpg|HTML}}''' w '''mechanizmie {{NS|l=tak|w=tak|k=mw}}''':
** {{s|Ce}}, {{s|Centruj}} i {{s|Center}} - szablony centrowania rozdziałów,
** {{Tag|center}} - znaczniki centrowania,
* {{s|HNumer}} - szablonu sztucznych rozdziałów,
* {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}} - szablony znaczników nagłówków.
: Zagieżdżone formy szablonów nagłówków w nich są usuwane, także szablony i znaczniki, nowej linii i kresek, są tam zastępowane spacją.
; Szablony sztucznych nagłówków{{dk}}
* {{s|HNumer}} - jeśli w sobie posiadają znaczniki {{Tag|div}}, i w nich nie ma nowej linii, ale on bezpośrednio znajduje się w tym szablonie, to ten znacznik jest zastępowany tą zawartością, a magiczność elementów, w tym znaczniku, rozdziałów dodatnich równaniowych i poyzycji listy zostaje usunięta.
====== Zmiana tekstu (Krok 2) - Upraszczanie rozdziałów, dodatnich równaniowych i pozycji list, do najprostszej postaci ======
Uruchamiana jest dwa razy funkcja: {{LinkŚródtytuł|LiniaRozdzialyDodatnieOrazUjemne}}, raz dla rozdziału dodatniego równaniowego, a raz następnie dla pozycji listy w '''mechanizmie {{NS|k=mw|l=tak}}''', ta funkcja działa dla każdej linii w tekście: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}.
* Funkcja upraszcza zawartość tych linii (rozdziałów) do takiej postaci, by w nim nie było znaczników nagłówków, a nawet nagłówków przygotowanych z szablonów centrowania szablonowego lub znacznikowego.
** Znaczniki, czy szablony, nowej linii i kreski poziomej, bądź ich szablony, czy znaki nowej linii, są zastępowane spacją.
** Ich elementy są zastępowane ich zawartościami.
; Inne obiekty
* Zmaczniki {{Code|PRE}} w tych rozdziałach są zastępowane jego zawartością, odpowiednio modyfikując znaki specjalne, zastępując je na kody '''{{lpg|HTML}}'''.
* Podobnie jest z elementami {{Code|ŹRÓDŁO}} i {{Code|NOWIKI}}.
** W tych dwóch pierwszych obiekrach. Znak nowej linii jest zastępowany wtedy spacją, jeśli on znajduje się w rozdziale dodatnim. Ale w każdym bądź razie, zawartośc ich, a w nich magiczne elementy przyjmują kształt kodów języka: '''{{lpg|HTML}}'''.
====== Zmiana tekstu (Krok 3) - Doprowadenie tekstu, to jednoznaczności rozumienia szablonów rozdziałów, aby w linii, wszystko co reprezentuje główny nagłówek był w całości w niej, nigdy jako normalna część ======
; Modyfikacja obiektów typu szablonowego{{dk}}
* Dla obiektu szablonowego typu {{Code|SZABLON}}, a w nim dla szablonów, tzn.: napisu wprowadzenia tekstu, w których ich nazwy pasują do: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, to dla obu stron ich kodów wstawiana jest podwójna nowa linia.
* A szablony o nazwach z tabeli: {{Code|{{sr|#p.szablony_sztucznego_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_sztucznego_wprowadzenia_tekstu}}, których wywołania są zamieniane na znacznik napisu wprowadzenia tekstu typu: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, w których po obu stronach wstawiana jest podwójna nowa linia.
; Typu znacznikowego{{dk}}
* Dla obiektu {{Code|ZNACZNIK}}, a w nim dla znacznika: {{Tag|center}}, lub dla {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}, wstawiane jest, po obu stronach ich kodów, podwójna nowa linia.
; Teksty z czcionką o stałej szerokości{{dk}}
* Dla obiektu {{Code|INNEPRE}}, dla jego kodu, po obu jego stron, wstawiana jest pojedyncza nowa linia.
; Specjalne obiekty{{dk}}
* A nareście dla obiektow: {{Code|PRE}}, {{Code|ŹRÓDŁO}}, {{Code|GALERIA}}, {{Code|MAPAOBRAZU}} i {{Code|PUDEŁKOWEJŚCIA}}, w przypadku ich kodów, wstawiane jest po obu ich stronach podwójna nowa linia.
==== Kod wspólny przed integracją linii i wyodrębnieniem spisu treści ====
Z {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}} są usuwane komentarze typu według wzoru w {{Lpg|Lua}} w {{lpr|Lua|Scribunto}} taki: {{Code|<nowiki><!%-%-.-%-%-></nowiki>}}, a także magiczne derektywy według {{Code|{{sr|#p.magiczne_derektywy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.magiczne_derektywy}}.
A także po nowych liniach kreskowych wstawiany jest znak nowej linii wraz ze spacją po nich.
==== Integracja linii i wyodrębnienie spisu treści dla treści zakodowanych ====
Linie są integrowane według: {{Code|{{sr|#p.IntegrowanieLiniiTekstuWRamachJegoNapisuWprowadzenia|b=tak}}}}, a później wydzielany jest odpowiedni spis treści z tekstu: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, według funkcji: {{LinkŚródtytuł|p.IterTekst}}, tzn. na podstawie użycia: {{Code|__FUNKCJA_ANALIZA_SPISU}} {{LinkPatrz|__FUNKCJA_ANALIZA_SPISU}}, jeżeli została podana.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3c6y08gvamdhz58o1k7cpz65dcdcao4
558121
558120
2026-09-30T17:35:07Z
Persino
2851
/* Zmiana tekstu (Krok 1) - Upraszczanie jakikolwiek linii do najprostszej możliwej postaci, aby było możliwe rozpoznanie pewnych obiektów, nie tylko linkowych przez {{ld|StronicowyParser|Stronicowy parser}} */
558121
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Rozdziały}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.IterTekst}}{{Code|p.IterTekst}} ==
Funkcja zwraca iterator, która jest funkcją, z zerową listą parametrów, a on zwraca napis wprowadzenia tekstu i jego tekst rozdziału wraz z innymi parametrami charakteryzujący ten rozdział.
Przed uruchomieniem iteratora, gdy tekst jest zakodowany, funkcja modyfikuje nagłówki i ich zawartości rozdziałów, upraszczając je na maksimum do ich zmodyfikowanej zawartości jego elementy, zostawiając jedynie zakodowane, to co wskazuje na odpowiednie linki wewnętrzne i zewnętrzne, nawet te inteligentne, w tych linkach wszystko jest zakodowane.
Funkcja upraszcza kolejne linie łącząc je odpowiednio między sobą, bez linii, z którymi się nie da się tego zrobic, do tego służy: {{Code|{{sr|#p.IntegrowanieLiniiTekstuWRamachJegoNapisuWprowadzenia|b=tak}}}}.
Funkcja z całego zmodyfikowanego rozdziału wydziela spis treści z linkami, nawet inteligentnymi, korzystając z funkcji: {{Code|__FUNKCJA_ANALIZA_SPISU}} {{LinkPatrz|__FUNKCJA_ANALIZA_SPISU}}, aby dało się z niego wydzielić treściwe rozdziały i artykuły, bez tych zbędnych, aby za pomocą innych funkcji dało się to wszystko poprawnie ponumerować, bez numerowania tego, co jest nie potrzebne.
Ten zwracany iterator ma funkcję, czy rozważać, tylko rozdziały dodatnie równaniowe, czy również dodatnie nierównaniowe (centrowane szablonowo, czy znaczniowo), ujemne (będące częścią pozycji listy) i zerowe (nie są tymi wcześniejszymi), do tego służy zmienna: {{Code|czy_inne_rozdzialy_analizowac}} {{LinkPatrz|czy_inne_rozdzialy_analizowac}}. Ta funkcja za każdym razem uruchomienia tego zwraca inną linie charakteryzująca całą linię rozdziału, i jego wnętrze, i nazwę rozdziału, także zwraca inne parametry, charakteryzujące nagłówek.
* Iterator zwraca {{Code|nil}}, gdy nie znalazł dalej żadnego innego dalszego rozdziału, lub od razu też tą wartość, gdy w całym tekście nie ma żadnego jakikolwiek tego.
Oprócz iteratora funkcja w nagłówku zwraca drugi argument, jako zmodyfikowany tekst, wstępnie przygotowany do dalszej analizy, aby dało się na nim ładnie operować.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,czy_inne_rozdzialy_analizowac,czy_dalej_rozwazac_zakodowane,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA,__FUNKCJA2,__FUNKCJA_ANALIZA_SPISU)
...
return function()
....
return naglowek_tab_aktualnego_rozdzialu,str,poziom_aktualnego_rozdzialu,poczatek_aktualnego_rozdzialu,numeracja_aktualnego_rozdzialu,czy_rozdzial_aktualny_centrowany;
end,tekst_rozwiniety_calego_artykulu;
end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst|StronicowyParser/Rozdziały}}, ale nie musi być tak: {{LinkPatrz|czy_dalej_rozwazac_zakodowane}}, jeśli tekst jest zakodowany, w przeciwnym wypadku nie jest, tylko ten tekst jest zawartością danej strony,
| 2 = Nazwy strony danego określonego spisu: | nagłówek2 = tak
| 3 = {{Code|nazwa_przestrzeni}} - jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Rozdziały}}, {{Code|nazwa_przestrzeni_ksiazki}} | _3 = Jak w: {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Rozdziały}}, {{Code|nazwa_ksiazki}} - jak w: {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Rozdziały}}, {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/Rozdziały}},
| 4 = {{Code|czy_inne_rozdzialy_analizowac}} {{Patrz|czy_inne_rozdzialy_analizowac}} | _4 = Czy ma tylko uwzględniać rozdziały, nie tylko, dodatnie równaniowe,
| 5 = {{Code|czy_dalej_rozwazac_zakodowane}} {{Patrz|czy_dalej_rozwazac_zakodowane}} | _5 = czy tekst {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, ma być zakodowany, a jeśli jest taki, to są robione operacje na liniach, i wydzielonany jest tekst spisu treści z całego tego tekstu,
| 6 = Tablice wynikłe z zakodowanych zmiennych: | nagłówek6 = tak
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}.
| 8 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _8 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Rozdziały}}, {{Code|tab_nazwa_spisow_przekierowaniowych}} - jak w: {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/Rozdziały}},
| 9 = Funkcje iteratora tekstu napisu wprowadzenia tekstu i ich tekstów rozdziałów:|nagłówek9 = tak
| 10 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _10 = Funkcja sprawdza, czy wywołanie szablonowe, czy jest normalnym szablonem, a nie instrukcją warunkową, na podstawie pełnego adresu szablonu, określa i zwraca jego zawartość.
| 11 = {{Code|__FUNKCJA2}} {{Patrz|__FUNKCJA2}} | _11 = Funkcja operująca na przygotowanej zawartości napisu wprowadzenia tekstu i tekście napisu wprowadzenia tekstu (rozdziału),
| 12 = {{Code|__FUNKCJA_ANALIZA_SPISU}} {{Patrz|__FUNKCJA_ANALIZA_SPISU}} | _12 = Funkcja do analizy i modyfikacji tekstu, może zwracać wartość nilową, przed samym wydzieleniem spisu treści, jeżeli pewna funkcja w niej zwróci ściśle określoną wartość, która to właśnie powoduje, że ta właściwa część tej funkcji nie jest uruchamiana, ta inna część funkcja bezpośrednio jest wywoływana w tej funkcji, służy ona do wydzielenia właściwego spisu treści danego spisu treści, tak robimi, uruchamiając funkcję: {{LinkŚródtytuł|p.IterTekst}}, dla każdego takiego spisu w odpowiedni sposób pokazaną w rozdziale: {{Code|{{sr|SpisTreści|p=StronicowyParser}}}}, co jest uwidocznione w module: {{Code|{{ld2|StronicowyParser/SpisTreści}}}}. Jeśli ta funkcja nie istnieje, lub zwraca wartość nilową, to ta zmienna {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}} nie zmienia się, w przeciwnym wypadku, ta ona przyjmuje wartość zwróconą z tej funkcji.
}}
Parametry funkcji zwracanej:
{{OpisParametrów
| 1 = Funkcja nie przyjmuje żadnych parametrów. | nagłówek1 = tak
}}
Jednoczesne parametry zwracane przez funkcję zwracaną:
{{OpisParametrów
| 1 = {{Code|naglowek_tab_aktualnego_rozdzialu}} {{Patrz|naglowek_tab_aktualnego_rozdzialu}} | _1 = To jest tablica numerowana dwuelementowa, którego pierwszym elementem jest nagłówek rozdziału, a druga jest całą jego linią.
| 2 = {{Code|str}} {{Patrz|str}} | _2 = Tekst napisu wprowadzenia tekstu (zawartość rozdziału).
| 3 = {{Code|poziom_aktualnego_rozdzialu}} {{Patrz|poziom_aktualnego_rozdzialu}} | _3 = Poziom aktualnego rozdziału.
| 4 = {{Code|poczatek_aktualnego_rozdzialu}} {{Patrz|poczatek_aktualnego_rozdzialu}} | _4 = Przedrostek aktualnego rozdzialu, dotyczy list, zaczynających się na: {{Code|<nowiki>[;%*:#]</nowiki>}}, {{Code|nil}}, gdy nie ma takiego rozdziału.
| 5 = {{Code|numeracja_aktualnego_rozdzialu}} {{Patrz|numeracja_aktualnego_rozdzialu}} | _5 = Numeracja aktualnego rozdziału, numeracja jest na podczątku rozdziału, a właściwy rozdział dalej, gdy nie ma numeracji, wtedy numeracja jest ciągiem pustym, lub {{Code|nil}}.
| 6 = {{Code|czy_rozdzial_aktualny_centrowany}} {{Patrz|czy_rozdzial_aktualny_centrowany}} | _6 = Przedstawia, czy rozdział jest rozdziałem dodatnim centrowanym znacznikowym lub szablonowym.
}}
=== Wykorzystywane tablice w {{lpg|Lua}} w {{lpr|Lua|Scribunto}} ===
Te tablice są zdefiniowane w: {{Code|{{ld2|StronicowyParser/obiekty}}}}.
==== Szablony i znaczniki, wyróżniające linie, które są rozdziałami ====
Pierwszą tablicą jest {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}} słążaca do wskazania rozdziałów centrowanych. A ich odpowiedniki w postaci znacznikowych nagłówków są w: {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}.
==== Szablony, projektów i tekstów, usuwane z tekstu ====
Szablony, które są usuwane z tekstu są zdefiniowane w {{Patrz|p.szablony_do_usuwania_z_tekstu}}:
<syntaxhighlight lang="lua">
p.szablony_do_usuwania_z_tekstu={
--- szablony książkowe umieszczane na stronie głównej podręcznika
["Kolekcja"]=true,
["TODO"]=true,
["Wersja do druku"]=true,
--- szablony typowo linkowe
["Dane tekstu"]=true,
--- szablony linkowania do innych projektow
["MediaWiki"]=true,
["Wikipedia"]=true,
["Wikipedia kat"]=true,
["Wikipedia2"]=true,
["Commons"]=true,
["Commons ilustr kat"]=true,
["Commonsall"]=true,
["Commonscat"]=true,
["Wikiatlas"]=true,
["Wikicytaty"]=true,
["Wikicytaty przysłowia"]=true,
["Inkubator"]=true,
["Meta"]=true,
["Wikinews"]=true,
["Wikinewscat"]=true,
["Wikinewsy"]=true,
["Portal Wikinews"]=true,
["Wikisłownik"]=true,
["Wikisłownik-cat"]=true,
["Wikimedia"]=true,
["Multiwmpl"]=true,
["Wikipodróże"]=true,
["Wikispecies"]=true,
["Multisource"]=true,
["Wikiźródła"]=true,
["Wikiźródła autor"]=true,
["Wikiźródła kat"]=true,
["Wikiźródła kuch kat"]=true,
["Wikiźródła krótki"]=true,
["Wikisource-lang"]=true,
};
</syntaxhighlight>
Ona jest opisana w: {{Code|{{sr|#p.szablony_do_usuwania_z_tekstu|p=StronicowyParser/obiekty}}}}, przedstawia ona szablony projektów zdefiniowane na stronie {{s|MediaWiki}}.
Aby w końcowych rozważaniach w napisie wprowadzenia tekstu i tekście rozdziału, aby były bez nich, by analiza tekstu przebiegała bezproblemowo, by z niego dało się wykryć poszczególne rozdziały linie i w nich artykuły, a także w liniach w nierozdziałach, wykryć artykuły w nich.
==== Szablony, z których z których zostawiane są tylko zawartości ====
Z rozważanego tekstu są usuwane elementy przy pomocy tablicy: {{LinkPatrz|p.szablony_dozwolone_z_elementami_spisu_rzeczy_stron_woluminu|StronicowyParser/Rozdziały/Tom III}}, która jest wykorzystywana przez funkcję: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}.
==== Inne szablony usuwane z tekstu ====
Tą tablicą, opisana w: {{Code|{{sr|#p.szablony_bez_generowania_napisowego|p=StronicowyParser/obiekty}}}}, jest o definicji {{Patrz|p.szablony_bez_generowania_napisowego}}:
<syntaxhighlight lang="lua">
p.szablony_bez_generowania_napisowego={
["Status"]=true,
};
</syntaxhighlight>
Przedstawia ona treści, szablony o pewnych nazwach, które z tworzącymi ich wywołaniami są usuwane z rozważanego tekstu. Są to szablony, które nie generują napisów wprowadzenia tekstu.
Inną tablicą, która przedstawia elementy do usuwania z tekstu, czyli o szablony o jakiś nazwach, opisana w: {{Code|{{sr|#p.szablony_nie_typowo_linkowe|p=StronicowyParser/obiekty}}}}, mającą określenie {{Patrz|p.szablony_nie_typowo_linkowe}}:
<syntaxhighlight lang="lua">
p.szablony_nie_typowo_linkowe={
["Plik"]=true,
["Kategoria"]=true,
["Kategorie"]=true,
["Wolumin"]=true,
["SortWolumin"]=true,
["SortKuchWolumin"]=true,
};
</syntaxhighlight>
Są to nazwy szablonów istniejących, którego na podstawie tego można stworzyć wywołania zawarte w tekście, które należy usunąć z niego. Są to szablony, które nie generują linków do artykułów jakiegoś podręcznika.
==== Znaczniki szablonowe ====
Definicję, jakie szablony uznać za znaczniki szablonowe, jest napisane w {{Patrz|p.znaczniki_szablonowe}}:
<syntaxhighlight lang="lua">
p.znaczniki_szablonowe={
["Znacznik"]=1,
["Div"]=1,
["Code"]=1,
["Tt"]=1,
["P"]=1,
["Sub"]=1,
["Sup"]=1,
["Span"]=1,
["Bdo"]=1,
["Small"]=1,
["Big"]=1,
["Strong"]=1,
};
</syntaxhighlight>
Opisana jest w: {{Code|{{sr|#p.znaczniki_szablonowe|p=StronicowyParser/obiekty}}}}. Są to odpowiedniki znaczników {{Strong|HTML}}, one po rozwinięciu właście to tworzą. One są usuwane odpowiednio z tekstu, tzn. ich zawartości sa pozostawiane, numer tego przedstawia, numer parametru tych szablonów, wartość tabeli o kluczu równym nazwie tego szablonu, to jest właśnie to.
==== Szablony generujące poziomy o dowolnym poziomie ====
Definicję szablonów generujące dowolny poziom napisu wprowadzenia tekstu jest {{Patrz|p.szablony_sztucznego_wprowadzenia_tekstu}}:
<syntaxhighlight lang="lua">
p.szablony_sztucznego_wprowadzenia_tekstu={
["HNumer"]=1,
};
</syntaxhighlight>
Opisana w: {{Code|{{sr|#p.szablony_sztucznego_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}}, przedstawia szablony, która sztucznie generuje niemożliwe poziomy napisów wprowadzenia tekstu. Zawartością tego szablonu o numerze stojącego przy wartości elementów w tej tablicy, jest poziom dodatni o dowolnym poziomie, nie tylko {{Code|<nowiki>0 < pozim <= 6</nowiki>}}, ale też i: {{Code|<nowiki>poziom>6</nowiki>}}.
==== Magiczne derektywy ====
Z tekstu są usuwane magiczne derektywy zdefiniowane w tablicy: {{Code|{{sr|#p.magiczne_derektywy|p=StronicowyParser/obiekty}}}}, ich definicja {{Patrz|p.magiczne_derektywy}}:
<syntaxhighlight lang="lua">
p.magiczne_derektywy={
["TOC"]=true,
["NOTOC"]=true,
["NOEDITSECTION"]=true,
};
</syntaxhighlight>
==== Napisy wprowadzenia tekstu, spisu treści lub spisu rzeczy, wykrywane funkcję ====
Napisy typu: {{Code|Spis treści}} lub {{Code|Spis rzeczy}}, które są wykrywane przez funkcję są zdefiniowane w {{Patrz|p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu}}:
<syntaxhighlight lang="lua">
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={
["spis treści"]=true,
["spis tresci"]=true,
["spis rzeczy"]=true,
};
</syntaxhighlight>
Aby elementy tej tablicy w odpowiednich rozdziałach w całości wykryć, należy użyć metatablicy: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}. Ta tablica jest opisana w: {{Code|{{sr|#p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu|p=StronicowyParser/obiekty}}}}.
==== Artykuły nieartykularne (okładki) ====
Aby funkcja wykryła artykuły, które uznać za nieartykularne, nie za zwykłe artykuły, należy użyć wyrażeń regularnych zdefiniowanych w tablicy {{Patrz|p.artykularne_niespisowe}}:
<syntaxhighlight lang="lua">
p.artykularne_niespisowe={
[1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$",
--[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$",
};
</syntaxhighlight>
Ta tablica jest opisana w: {{Code|{{sr|#p.artykularne_niespisowe|p=StronicowyParser/obiekty}}}}. Ona powoduje, że elementy tego typu nie będą wykrywane w spisie artykułów danego podręcznika, bo np. przedstawiają one okładki tego typu, no bo jak uznać okładki za artykuły.
=== Przykłady ===
Przykładowe użycia:
<syntaxhighlight lang="lua">
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
local __FUNKCJA_PARAMETRY=nil;
local __FUNKCJA_ANALIZA_SPISOWA=function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,szablony_magiczne,tabela_nazw)
return nil;
end;
local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul:RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu,false,nil,nil,__FUNKCJA_ANALIZA_SPISOWA,__FUNKCJA_PARAMETRY);
local __FUNKCJA=function(pelna_nazwa_szablonu,tabela_modyfikatorow)
... ---- Funkcja aktualnie nieużywana;
local szablonowe_modul=require("Module:Szablonowe");
if(not szablonowe_modul.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(tabela_modyfikatorow))then return nil;end;
---
pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu;
local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true);
return tekst;
end;
local __FUNKCJA2=function(str,pelna_nazwa_strony,tablica_analizy_obiektow_strony_dany_modul,czy_naglowek)
...
return str;
end;
local __FUNKCJA_ANALIZA_SPISU=function(tekst_rozwiniety_calego_artykulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local stronicowyparser_analizaspisu_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy");
local tekst=stronicowyparser_analizaspisu_modul.AnalizaSpisuRzeczy(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych);
return tekst;
end;
local iterator,tekst_rozwiniety_calego_artykulu=stronicowyparser_rozdzialy_modul.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,true,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA,__FUNKCJA2,__FUNKCJA_ANALIZA_SPISU);
---- iterator - iterator;
---- tekst_rozwiniety_calego_artykulu - tekst zakodowany maksymalnie zmodyfikowany przyszykowany do dalszej analizy;
local parsuj_rozdzialami=nil;
for rozdzial_tab,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany in iterator do
... --- Gdy tekst ma rozdziały iterowalne;
if(not parsuj_rozdzialami)then parsuj_rozdzialami=true;end
end;
if(not parsuj_rozdzialami)then
... ---- Gdy tekst nie ma rozdziałów iterowalnych;
end;
</syntaxhighlight>
=== Opis dalszy funkcji ===
Liczymy nazwę spisu bez nazwy przestrzeni szablonowej: {{Code|pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej}} {{Patrz|pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej}}, i nazwę szablonową tej strony: {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/Rozdziały}}. W tej ostatniej uwzględniamy również możliwą przestrzeń główną, w której tej ostatniej uwzględniamy sam dwukropek {{Code|:}}, lub inną.
Definiujemy funkcje: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} (usuwa odpowiednie elementy z tabeli parametrów przeanalizowanych z: {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Rozdziały}}, na podstawie {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}) i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}} (usuwa elementy z: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}, bazy danych skonstrułowanych dzięki: {{Code|{{m|Szablonowe}}}}), oraz do nich potrzebne zmienne.
Funkcja decyduje, czy wybrać blok z sekcji: {{Code|czy_dalej_rozwazac_zakodowane}} {{LinkPatrz|czy_dalej_rozwazac_zakodowane}} - czyli czy główny tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, jest zakodowany, czy nie - wtedy nie, gdy to wybieramy kolejno, to ta zmienna przyjmuje wartość {{Code|true}}, w innym wypadku ona odpowiada wartości odpowiadającej fałszywej.
==== Kod z sekcją: {{Code|czy_dalej_rozwazac_zakodowane}} ====
Opis funkcji według tej sekcji dotyczy, gdy zmienna: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, jest zakodowana.
===== Definicje potrzebnych funkcji do opisu działającego kodu =====
Przedstawiamy tutaj definicję lokalnych funkcji.
====== {{Śródtytuł|UsuwanieNowychLiniiZnacznikowe}}{{Code|UsuwanieNowychLiniiZnacznikowe}} ======
Funkcja służy do modyfikacji tekstu tylko ze znacznikami języka: '''{{lpg|HTML}}''' mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''', takich jak: znaczniki '''centrowania''': {{Tag|center}}, i '''nagłówków''': {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, jak i szablonów '''centrowania''': {{s|Ce}}, {{s|Centruj}} i {{s|Center}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function UsuwanieNowychLiniiZnacznikowe(szablon)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|szablon}} | _1 = Tekst do zmodyfikowania, jak w: {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, który jest elementem tabeli bazy: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}, modułu: {{Code|{{m|Szablonowe}}}}.
}}
Funkcja korzysta z funkcji: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}.
Funkcja nie zmienia poziomu zakodowania tekstu, tzn. ona służy jedynie do {{ZobaczTeż|elementy usuwane nowe linie}} znajdowania znaczników: {{Tag|br|pojedynczy}} i {{Tag|hr|pojedynczy}}, oraz szablonów: {{Code|{{s|Br}}}} i {{Code|{{s|Hr}}}}, w nim, i zamieniania ich na jedną spację (odstęp).
Funkcja zwraca tak zmodyfikowany tekst, podany jako pierwszy parametr funkcji. Sprawdza, czy one wystąpiły przy {{Code|poziom_iteracji}} {{=}} {{Code|0}}, jeżeli występują, to ta funkcja zwraca drugi wynik w postaci wartości: {{Code|true}}, przeciwnie ta wartość jest: {{Code|nil}}.
====== {{Śródtytuł|UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu}}{{Code|UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu}} ======
Funkcja usuwa elementy, zagnieżdzone, linie charakteryzujące rozdziały - napisy wprowadzenia tekstu, które są znacznikami języka: '''{{lpg|HTML}}''' mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''' wraz zawartością i atrybutami, takich jak {{ZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}}: znaczniki '''centrowania''': {{Tag|center}}, i '''nagłówków''' {{ZobaczTeż|nagłówki}}: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, jak i szablonami '''centrowania''': {{s|Ce}}, {{s|Centruj}} i {{s|Center}}, zastępując je odpowiednimi ich zawartościami, pozostawiając jedną główną nową linię z szablonem lub znacznikiem, centrowania, czy znacznikiem nagłówków: {{LinkZobaczTeż|nagłówki}}, linii, którą jest on charakteryzujący się wnętrzem: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, rodzajem obiektu, dostępne obiekty to: {{Code|SZABLON}} i {{Code|ZNACZNIK}}, i jego numerem: {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/Rozdziały}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu=function(szablon,obiekt,kod)...end;
</syntaxhighlight>
Parametry funkcji {{ZobaczTeż|szablon-obiekt-kod}}:
{{OpisParametrów
| 1 = {{Code|szablon}} | _1 = Tekst do zmodyfikowania, jak w: {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, lub jego elementy bazy: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/Rozdziały}}.
}}
Funkcja korzysta z funkcji: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}.
Te linie mogą być oznaczone szablonami: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, lub znacznikami: {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}.
Funkcja zwraca tak zmodyfikowany tekst {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, z drugim parametrem {{Code|true}}, jeżeli zagnieżdzone napisy wprowadzenia tekstu wystąpiły, przeciwnie jest zwracany ten sam tekst, bez modyfikacji, co został przyjęty jako pierwszy parametr funkcji, z drugim parametrem {{Code|nil}}.
====== {{Śródtytuł|Modyfikacja}}{{Code|Modyfikacja}} ======
Funkcja usuwa zagnieżdzone napisy wprowadzenia tekstu nierównaniowe: {{LinkZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}} przy pomocy funkcji w pierwszej kolejności: {{LinkŚródtytuł|UsuwanieZagniezdzonychNapisowWprowadzeniaTekstu}}, w drugiej: nowe linie, nawet kresek, czyli: {{LinkZobaczTeż|elementy usuwane nowe linie}}, dzięki: {{LinkŚródtytuł|UsuwanieNowychLiniiZnacznikowe}}, następnie znaki nowych linii języka: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, powstałe przez znak nowej linii: {{Code|<nowiki>\n</nowiki>}} {{Patrz|nowa linia}}, zamieniając to na spację.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local Modyfikacja=function(szablon,obiekt,kod)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = Jakikolwiek parametry, jak w: {{LinkZobaczTeż|szablon-obiekt-kod}}. |nagłówek1 = tak
}}
Funkcja zwraca tekst zmodyfikowany: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}} - pierwszy parametr funkcji, z drugą wartością {{Code|true}}, bo nastąpiła jego zmiana wnętrza, a jeżeli nic się nie zmieniło, to druga wartość jest {{Code|nil}}, a pierwsza wartość, to niezmodyfikowany element, ten pierwszy argument tej funkcji.
====== {{Śródtytuł|UsuwanieZnacznikowe}}{{Code|UsuwanieZnacznikowe}} ======
Główny element: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, który jest pierwszym argumentem tej funkcji, który charakteryzuje się, tym, że jest znacznikiem języka: '''{{lpg|HTML}}''' mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''' wraz zawartością i atrybutami, takich jak {{LinkZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}}: znaczniki '''centrowania''': {{Tag|center}}, i '''nagłówków''' {{LinkZobaczTeż|nagłówki}}: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, jak i szablonami '''centrowania''': {{s|Ce}}, {{s|Centruj}} i {{s|Center}}.
Funkcja korzysta z tabeli: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, dla napisów wprowadzenia tekstu szablonowych, i {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}, dla napisów wprowadzenia tekstu znacznikowych. Te elementy są podane w: {{LinkZobaczTeż|elementy usuwane - szablony i znaczniki, napisów wprowadzenia tekstu}} - szablony i znaczniki centrowania, i {{LinkZobaczTeż|nagłówki}} - znaczniki nagłówków.
Funkcja sprawdza, czy to jest napis wprowadzenia tekstu szablonowy typu, jedynie w dwóch sprawdzonych zakresach, tzn.: {{Code|SZABLON}}, czy {{Code|ZNACZNIK}}.
* W obu tych rozgałęzieniach funkcji, dla tych elementów z tych tabel, jest uruchamiana procedura modyfikująca: {{LinkŚródtytuł|Modyfikacja}}, która drugim parametrem zawiadamia, czy coś się zmieniło.
* W innych zakresach funkcja nic nie zwraca.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function UsuwanieZnacznikowe(szablon,obiekt,kod,parametr1,parametr2,parametr3)...end;
</syntaxhighlight>
Parametry funkcji {{Nobold|{{ZobaczTeż|parametry znacznikowe}}}}:
{{OpisParametrów
| 1 = Jak w: {{LinkZobaczTeż|szablon-obiekt-kod}}, dla parametrów bazy: {{Code|{{m|Szablonowe}}}}. | komórka1 = tak
| 2 = Parametry w wersji - szablonowe: | nagłówek2 = tak
| 3 = Parametry szablonowe, gdy obiekt wskazany przez zmienną: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}, jest typu: {{Code|SZABLON}}, wtedy one mają taką słuszność:| komórka3 = tak
| 4 = {{Code|parametr1}} {{Patrz|parametr1-szablonowe}} | _4 = To nic innego jak: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/Rozdziały}}, czyli jak nazwa znacznika.
| 5 = {{Code|parametr2}} {{Patrz|parametr2-szablonowe}} | _5 = To nic innego jak: {{Code|nazwa_szablonu}} {{LinkPatrz|nazwa_szablonu|StronicowyParser/Rozdziały}}, czyli zawartość znacznika.
| 6 = {{Code|parametr3}} {{Patrz|parametr3-szablonowe}} | _6 = To nic innego jak: {{Code|tabela_modyfikatorow}} {{LinkPatrz|tabela_modyfikatorow|StronicowyParser/Rozdziały}}, czyli atrybuty znacznika.
| 7 = Parametry w wersji - znacznikowe:| nagłówek7 = tak
| 8 = Parametry znacznikowe, gdy obiekt: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}, jest typu: {{Code|ZNACZNIK}}, tutaj wtedy mamy ów:|komórka8 = tak
| 9 = {{Code|parametr1}} {{Patrz|parametr1-znacznikowe}} | _9 = To nic innego jak: {{Code|nazwa}} {{LinkPatrz|nazwa|StronicowyParser/Rozdziały}}, czyli jak nazwa znacznika,
| 10 = {{Code|parametr2}} {{Patrz|parametr2-znacznikowe}} | _10 = To nic innego jak: {{Code|zawartosc}} {{LinkPatrz|zawartosc|StronicowyParser/Rozdziały}}, czyli zawartość znacznika,
| 11 = {{Code|parametr3}} {{Patrz|parametr3-znacznikowe}} | _11 = To nic innego jak: {{Code|atrybuty}} {{LinkPatrz|atrybuty|StronicowyParser/Rozdziały}}, czyli atrybuty znacznika.
}}
Jeżeli nic się nie zmieniło, to funkcja zwraca wartość: {{Code|nil,true}}, a jeżeli przeciwnie, to wartość zmienioną, ewentualnie ze zmodyfikowaną bazą {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Rozdziały}} (ale zwracane bez niej, a wartość {{LinkPatrz|szablon|StronicowyParser/Rozdziały}}, która się wtedy nie zmieniła, bo baza jest teraz inna, jedynie jest brana do obliczeń, aby określić element pierwszy zrzucony przez tą procedurę), z drugą wartością {{Code|true}}.
====== {{Śródtytuł|PrzetwarzanieZnacznikowe}}{{Code|PrzetwarzanieZnacznikowe}} ======
Funkcja do przetwarzania ciągu (modyfikowanej treści), do odpowiedniego ustawiania linii.
; Funkcja służy do tego{{dk}}
* Jeżeli napotkała znaki listy na początku nowej linii, to usuwana jest jego magiczność, aby to nie znaczyło, tyle co pozycje listy,
** Bo ten element może się znaleźć bezpośrednio lewego końca znacznika - ten znacznik boże być obiektem typu {{Code|ZNACZNIK}} lub {{Code|SZABLON}}, czyli wtedy jest znacznikiem szablonowym, które te elementy tyle znaczą co nic, ale po zastąpieniu tego jego zawartością, one nabierają magiczności, którą z racji tego trzeba usunąć magię tego.
* Element znajduje się na początku komórki tabeli, wtedy ten sam problem, czyli wtedy po usunięciu tabeli, zdobywa to magiczność, bo w znaczniku lub w komórce nie były one magiczne, robiąc pewne operacje.
* Funkcja zamienia wszystkie kody '''{{lpg|HTML}}''' spacji, na jedną odstępową spację, by udało się w pełni sprawdzenie {{LinkPatrz|pozycje listy}}, bo tam na początku może występować dowolna liczba odstępów: {{Code|<nowiki>%s</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local PrzetwarzanieZnacznikowe=function(komorka,nie_trimowanie)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|komorka}} | _1 = Przetwarzana komórka - linia,
| 2 = {{Code|nie_trimowanie}} | _2 = Czy jest włączona możliwość nie trimowania komórki, zaprzeczenie tego,czy ma trimować.
}}
Funkcja znaki odstępu dyktowane kodami: {{Code|{{Nowiki| }}}}, {{Code|{{Nowiki| }}}} i {{Code|{{Nowiki| }}}}, są zastępowane na pojedynczą spację, te spacje mogą być pokolei dla każdego kodu {{Strong|HTML}}. To już zamienione przypisuje pod starą wartością {{Code|komorka_stara}}, a ta nowa {{Code|komorka}}, ta zmieniona, jest trimowana, jeżeli ta funkcja w tej funkcji jest włączona poprzez zaprzeczenie drugiego parametru tej funkcji, którego tutaj powinna przyjmować nie wartość prawdziwą, czyli czy ma trimować.
Jeżeli wyrażenie pasuje do starej wartości: {{Code|<nowiki>^%s*[#%*:;>]</nowiki>}} {{Patrz|pozycje listy}}, czyli są to w nawiasie kwadratowym elementy pozycji listy i nie tylko, to na poczatek tego nowego jest dodawany pojedynczy odstęp.
Jeżeli trimowanie jest włączone, to na poczatek są dodawane dwa znaki nowej lini: {{Code|<nowiki>\n</nowiki>}}, a na końcu ta jedna, i to jest zwracane - zmodyfikowana wartość {{Code|komorka}}, w przeciwnym razie zwracana jest wartość równa otrzymanej nowej wartości tego czegoś, czyli też {{Code|komorka}}.
====== {{Śródtytuł|ZamienNaKody}}{{Code|ZamienNaKody}} ======
Funkcja zamieniająca odpowiednie znaki na znaki kodu {{Strong|HTML}}.
Gdy pozycje listy lub element rozdziału dodatniego równaniowego jest na początku elementu, tzn. to: {{LinkPatrz|pozycje magiczne}}, gdy znajduje się w znaczniku normalnym typu {{Code|ZNACZNIK}} lub szablonowym {{Code|SZABLON}} (te znaczniki są w kategorii: {{lk2|Szablony znaczników}}), na początku jego, to nie ma żadnej magiczności, po zastąpieniu tego jego zawartością, to to nabiera nakiego nasycenia, ale to aby nie było to takie, to te znaki zastępujemy kodami '''{{lpg|HTML}}'''.
Podobnie jest ze znakiem {{Code|{{=}}}}, według: {{LinkPatrz|rozdziały magiczne}} na końcu tego elementu w przypadku rozdziału równaniowego dodatniego, wtedy w tej linii, nie ma już takiego rozpoznanego rozdziału wykrywanego przez '''{{ld|StronicowyParser|Stronicowy parser}}'''.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function ZamienNaKody(zawartosc,czy_szablon)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|zawartosc}} | _1 = Zawartość modyfikowana, działa podobnie jak w: {{LinkPatrz|zawartosc|StronicowyParser/Rozdziały/Tom II}}
| 2 = {{Code|czy_szablon}} {{Patrz|czy_szablon}} | _2 = Czy zawartość modyfikowana jest od szablonu.
}}
Funkcja sprawdza, czy pierwszy znak linii jest nową linią, jeśli nie, to znaki przechwytywane z: {{Code|<nowiki>^([=%*#:;])</nowiki>}} {{Patrz|pozycje magiczne}}, są zamieniane na kody {{Strong|HTML}}.
Funkcja sprawdza, czy ostatni znak linii jest nową linią, jeśli nie, to znaki przechwytywane z pierwszego ciągu z: {{Code|<nowiki>([=])([^%S\n]*)$</nowiki>}} {{Patrz|rozdziały magiczne}}, są zamieniane tak jak poprzednio.
Funkcja w ten sposób zwraca zmodyfikowaną zawartość, jeśli były elementy nabierające magicznego kontrastu, lub nie.
====== {{Śródtytuł|LiniaRozdzialyDodatnieOrazUjemne}}{{Code|LiniaRozdzialyDodatnieOrazUjemne}} ======
Funkcja modyfikująca poszczególne linie według odpowiedniego schematu, czyli na podstawie odpowiedniego wzoru {{LinkPatrz|wzor}}, i sprawdza odpowiednio, czy tą linią jest rozdział dodatni równaniowy {{LinkPatrz|czy_rozdział_dodatni}}.
; Funkcja w przypadku rozdziału dodatniego równaniowego (typu, że po obu stronach linii znajdują się znaki {{Code|{{=}}}}, a w wewnątrz tekst) i te będące znakami listy (przypominające rozdziały ujemne){{dk}}
* Rozpoczynające się na: {{Code|<nowiki>[%*#;:]</nowiki>}}, modyfikują je, aby nie było w nim innych rozdziałów dodatnich, ani ujemnych, rozdziałów centrowanych szzablonowych: {{s|Ce}}, {{s|Centruj}} i {{s|Center}}, według: {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, oraz znacznikowych centrowania: {{Code|center}}, i znaczników nagłówków: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, według: {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}},
* Jak i znaczników nagłówków szablonowych jak: {{s|HNumer}}, a w nim we wnętrzu według jego definicji jest dowolna liczba równa się po lewej i po prawej stronie jego, co symbolizuje rozdział dodatni równaniowy, chociaż, nie do końca nim jest,,
** Funkcja zastąpuje je ich zawartościami, i zastępując wszystkie znaczniki nowych linii {{Tag|br}} i kresek {{Tag|hr}}, czy szablony kolejno: {{s|Br}} i {{s|Hr}}, wtedy w głównym rozdziale dodatnim, czy przypominającym ujemnym, tego już nie ma, i mamy czyste te, które pisze się dokładnie jedną linią, a nie wieloma.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function LiniaRozdzialyDodatnieOrazUjemne(wzor,czy_dodatni_rozdzial)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|wzór}} {{Patrz|wzor}} | _1 = Wzór przetwarzający linię, możliwe dostępne są dwa wzory: {{Code|<nowiki>^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$</nowiki>}} (symbolizuje rozdział dodatni równaniowy) i {{Code|<nowiki>^([%*#;:]+[^\n]*)$</nowiki>}} (symbolizuje rozdziały ujemne, napisane za pomocą pozycji listy).
| 2 = {{Code|czy_rozdział_dodatni}} {{Patrz|czy_rozdział_dodatni}} | _2 = Czy linia reprezentuje rozdział dodatni równaniowy.
}}
Funkcja wydziela poszczególne linie wewnątrz siebie, i za pomocą pewnej funkcji wkładanej do niego jako drugi parametr, robi operacje na nich. Tą funkcją jest: {{Code|{{sr|#p.ZamianaZnakowaLinii|p=Szeregi}}}}.
Dla lini pasujących do wzoru {{LinkPatrz|wzor}}, to linie są kompletowane, używając funkcji: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}} (funkcja wykorzystuje procedury: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}}, i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}), a w nim dla elementu: {{Code|SZABLON}} i {{Code|ZNACZNIK}}, jest robione, co w nagłówku powiedziane jest, a dla znaczników mechanizmu '''{{NS|k=mw|w=tak|l=tak}}''', obiektów {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}} równym: {{Code|PRE}}, {{Code|ŹRÓDŁO}}, {{Code|NOWIKI}}, są specjalne znaki znacznika: {{Tag|nowiki}}, są zamieniane na kody '''{{lpg|HTML}}''', dla znaków: {{Code|<nowiki>[%!{}|=<>%[%]]</nowiki>}}, na podstawie wywołanej tam funkcji: {{Code|{{sr|#p.ZnakiSpecjalneTaguNowiki|p=Html}}}}, co później w ostatecznym tym elemencie znak nowej linii: {{Code|<nowiki>\n</nowiki>}}, jest zastąpiony jedną spacją. A gdy jednak te znaczniki nie mają zawartości, to są zastępowane ciagiem pustym.
===== Dalszy opis =====
Przed uruchomieniem głównego iteratora zwracanej przez tą funkcję, ona przez nią musi przejść przez te kroki, aby wyedytować odpowiednio tekst {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}.
====== Zmiana tekstu (Krok 1) - Upraszczanie jakikolwiek linii do najprostszej możliwej postaci, aby było możliwe rozpoznanie pewnych obiektów, nie tylko linkowych przez {{ld|StronicowyParser|Stronicowy parser}} ======
{{Tab}}Uruchamiamy funkcję: {{Code|{{sr|#p.KodowanieNiezakodowanychNormKodowychReferencjiTekstu|p=Szablonowe}}}}, która służy do kodowania szablonów referencji: {{s|R}}, {{s|RN}} i {{s|RNota}}, {{s|U}}, {{s|UN}} i {{s|UNota}}, {{s|O}} i {{s|Ref}} oraz {{s|Refn}}, znaczniki '''mechanizmu {{NS|k=mw|w=tak|l=tak}}''': {{Tag|ref}}, a także dopisująca linkom zewnętrznym nienazwanym ich numerkowe nazwy, by napisać ich numerki uruchomień, aby się zgadzała ich kolejność, a te elementy za to referencji są zamieniane w odpowiednie kody {{Strong|HTML}}, w innych przypadkach uruchamia się funkcja: {{Code|__FUNKCJA_INNE_OPERACJE}} {{Patrz|__FUNKCJA_INNE_OPERACJE}} (która robi inne operacje, które wykorzystamy do definicji funkcji tutaj, która coś robi), która jest zdefiniowana na zewnętrz tej funkcji. Funkcja wykorzystuje też: {{Code|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_PARAMETROWE|StronicowyParser/Rozdziały}} i {{Code|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE}} {{LinkPatrz|__FUNKCJA_OPERACJE_USUWANIE_BAZOWE|StronicowyParser/Rozdziały}}, zdefiniowane w opisywanym module.
{{Tab}}Funkcja ta doprowadza, za pomocą funkcji: {{Code|__FUNKCJA_INNE_OPERACJE}} {{LinkPatrz|__FUNKCJA_INNE_OPERACJE}} - pierwsza funkcja w niej, do najprostrzej postaci wikitekst zakodowany: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, aby w tekście były tylko linki szablonowe, nawet iteligentne, bądź spisowe, czy typu linki wewnętrzne {{Code|LINKW}}, a nawet zewnętrzne {{Code|LINKZ}}: i rozdziały niezależnie jak są reprezentowane, czy znacznikowo, czy szablonowo, i niektóre inne, aby one były w najprostrzej postaci, aby nie było rozdziałów zagnieżdżonych jeden w drugim, szablony typu stucznego reprezentowania rozdziałów dodatnich równaniowych, są zastępowane ich zawartościami. W rozdziałach szablonowych mogą być linki, niezależnie jakie.
{{HNumer|1=
======= Opis funkcji {{nobold|{{Code|__FUNKCJA_INNE_OPERACJE}} {{LinkPatrz|__FUNKCJA_INNE_OPERACJE}}}}, a w nim jest, jako pierwszy argument modyfikowany tekst wnętrzna elementu innego niż przypadek szablonów i znaczników referencji - nazwane i nienazwane =======
}}
Funkcja się uruchamia, wtedy kiedy mamy do czynienia z szablonami innymi niż referencje nazwane i nienazwane, podobnie w przypadku znaczników innych niż referencje. Ona też działa w pozostałych przypadkach.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function(szablon,obiekt,kod,parametr1,parametr2,parametr3,tekst)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = Parametry podstawowe: | nagłówek1 = tak
| 2 = Parametry tej funkcji, jak w: {{LinkZobaczTeż|parametry znacznikowe}}. | komórka2 = tak
| 3 = Inne parametry: | nagłówek3 = tak
| 4 = {{Code|tekst}} | _4 = Jak w: {{LinkPatrz|tekst|StronicowyParser/Rozdziały}}.
}}
Funkcja modyfikuje wnętrza obiektów: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/Rozdziały}}, o typie:
* {{Code|SZABLON}} - pewne szablony są zastępowane ich wnętrzem lub są zastępowane ciągiem pustym,
** Szablony typu: {{s|HNumer}}, jeśli można są modyfikowane,
** Szablony cenntrowania z: {{s|Ce}}, {{s|Centruj}} i {{s|Center}}, według: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, są zachowywane, chyba że w swojej zawartości mają inne rozdziały dodatnie równaniowe i pozycje listy, wtedy one są zachowywane ich zawartościami.
* {{Code|ZNACZNIK}} - elementy ze znacznikami są zastępowane ich zawartościami, a znaczniki typu:
** centrowania: {{Tag|center}} i nagłówków: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, według: {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}, są zachowywane, lub zastępowane ich zawartościami, jeśli w sobie mają rozdziały dodatnie równaniowe lub pozycje listy.
* {{Code|INNEPRE}} - składająca się z samych odstępów są zastępowane ciągiem pustym, a inne ich zawartościami,
* {{Code|LINKW}} i {{Code|LINKZ}} - w nich znaczniki normalne są zastępowane ich zawartościami, lub one znaczniki nowych linii: {{Tag|br|pojedynczy}}, i kresek: {{Tag|hr|pojedynczy}}, są zamieniane na spacje, i analogicznie podobnie znaczniki szablonowe i też szablony nowych linii: {{s|Br}}, i kresek: {{s|Hr}},
* {{Code|WIKITABELA}} - komórki, w niej, są upraszczne do zbioru nowych linii, aby była zachowana, kolejność wierszy i komórek.
; Szablony i znaczniki nagłówków jakie modyfikujemy w funkcji są{{dk}}
* Elementy do centrowania obiektów na stronie '''{{lpg|HTML}}''' w '''mechanizmie {{NS|l=tak|w=tak|k=mw}}''':
** {{s|Ce}}, {{s|Centruj}} i {{s|Center}} - szablony centrowania rozdziałów,
** {{Tag|center}} - znaczniki centrowania,
* {{s|HNumer}} - szablonu sztucznych rozdziałów,
* {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}} - szablony znaczników nagłówków.
: Zagieżdżone formy szablonów nagłówków w nich są usuwane, także szablony i znaczniki, nowej linii i kresek, są tam zastępowane spacją.
; Szablony sztucznych nagłówków{{dk}}
* {{s|HNumer}} - jeśli w sobie posiadają znaczniki {{Tag|div}}, i w nich nie ma nowej linii, ale on bezpośrednio znajduje się w tym szablonie, to ten znacznik jest zastępowany tą zawartością, a magiczność elementów, w tym znaczniku, rozdziałów dodatnich równaniowych i poyzycji listy zostaje usunięta.
====== Zmiana tekstu (Krok 2) - Upraszczanie rozdziałów, dodatnich równaniowych i pozycji list, do najprostszej postaci ======
Uruchamiana jest dwa razy funkcja: {{LinkŚródtytuł|LiniaRozdzialyDodatnieOrazUjemne}}, raz dla rozdziału dodatniego równaniowego, a raz następnie dla pozycji listy w '''mechanizmie {{NS|k=mw|l=tak}}''', ta funkcja działa dla każdej linii w tekście: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}.
* Funkcja upraszcza zawartość tych linii (rozdziałów) do takiej postaci, by w nim nie było znaczników nagłówków, a nawet nagłówków przygotowanych z szablonów centrowania szablonowego lub znacznikowego.
** Znaczniki, czy szablony, nowej linii i kreski poziomej, bądź ich szablony, czy znaki nowej linii, są zastępowane spacją.
** Ich elementy są zastępowane ich zawartościami.
; Inne obiekty
* Zmaczniki {{Code|PRE}} w tych rozdziałach są zastępowane jego zawartością, odpowiednio modyfikując znaki specjalne, zastępując je na kody '''{{lpg|HTML}}'''.
* Podobnie jest z elementami {{Code|ŹRÓDŁO}} i {{Code|NOWIKI}}.
** W tych dwóch pierwszych obiekrach. Znak nowej linii jest zastępowany wtedy spacją, jeśli on znajduje się w rozdziale dodatnim. Ale w każdym bądź razie, zawartośc ich, a w nich magiczne elementy przyjmują kształt kodów języka: '''{{lpg|HTML}}'''.
====== Zmiana tekstu (Krok 3) - Doprowadenie tekstu, to jednoznaczności rozumienia szablonów rozdziałów, aby w linii, wszystko co reprezentuje główny nagłówek był w całości w niej, nigdy jako normalna część ======
; Modyfikacja obiektów typu szablonowego{{dk}}
* Dla obiektu szablonowego typu {{Code|SZABLON}}, a w nim dla szablonów, tzn.: napisu wprowadzenia tekstu, w których ich nazwy pasują do: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_wprowadzenia_napisu_spisu_rzeczy|StronicowyParser/Rozdziały/Tom IV}}, to dla obu stron ich kodów wstawiana jest podwójna nowa linia.
* A szablony o nazwach z tabeli: {{Code|{{sr|#p.szablony_sztucznego_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_sztucznego_wprowadzenia_tekstu}}, których wywołania są zamieniane na znacznik napisu wprowadzenia tekstu typu: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, w których po obu stronach wstawiana jest podwójna nowa linia.
; Typu znacznikowego{{dk}}
* Dla obiektu {{Code|ZNACZNIK}}, a w nim dla znacznika: {{Tag|center}}, lub dla {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.znaczniki_wprowadzenia_tekstu|StronicowyParser/Rozdziały/Tom II}}, wstawiane jest, po obu stronach ich kodów, podwójna nowa linia.
; Teksty z czcionką o stałej szerokości{{dk}}
* Dla obiektu {{Code|INNEPRE}}, dla jego kodu, po obu jego stron, wstawiana jest pojedyncza nowa linia.
; Specjalne obiekty{{dk}}
* A nareście dla obiektow: {{Code|PRE}}, {{Code|ŹRÓDŁO}}, {{Code|GALERIA}}, {{Code|MAPAOBRAZU}} i {{Code|PUDEŁKOWEJŚCIA}}, w przypadku ich kodów, wstawiane jest po obu ich stronach podwójna nowa linia.
==== Kod wspólny przed integracją linii i wyodrębnieniem spisu treści ====
Z {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}} są usuwane komentarze typu według wzoru w {{Lpg|Lua}} w {{lpr|Lua|Scribunto}} taki: {{Code|<nowiki><!%-%-.-%-%-></nowiki>}}, a także magiczne derektywy według {{Code|{{sr|#p.magiczne_derektywy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.magiczne_derektywy}}.
A także po nowych liniach kreskowych wstawiany jest znak nowej linii wraz ze spacją po nich.
==== Integracja linii i wyodrębnienie spisu treści dla treści zakodowanych ====
Linie są integrowane według: {{Code|{{sr|#p.IntegrowanieLiniiTekstuWRamachJegoNapisuWprowadzenia|b=tak}}}}, a później wydzielany jest odpowiedni spis treści z tekstu: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, według funkcji: {{LinkŚródtytuł|p.IterTekst}}, tzn. na podstawie użycia: {{Code|__FUNKCJA_ANALIZA_SPISU}} {{LinkPatrz|__FUNKCJA_ANALIZA_SPISU}}, jeżeli została podana.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
bpi76jat3nc75rtr3t54n5ce3lhk1xc
Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I
4
63908
558134
557571
2026-10-01T05:53:31Z
Persino
2851
558134
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Przedstawione są tu funkcje do zbierania informacji o uchwycie.
== {{Śródtytuł|p.UstawUchwytyWeTablicyBezNumeracji}}{{Code|p.UstawUchwytyWeTablicyBezNumeracji}} ==
Funkcja zbiera uchwyty, dla obiektów {{ZobaczTeż|p.UstawUchwytyWeTablicyBezNumeracji}}, bez numeracji, nie licząc obiektów tekstu, takich jak {{s|Śródtekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UstawUchwytyWeTablicyBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} {{Patrz|self}} | _1 = Zmienna obiektowa modułu {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}} {{Patrz|StronicowyParser/ZbieranieDanychStron}}.
| 2 = {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} | _2 = Zmienna zbierająca takie kody jak {{LinkZobaczTeż|p.UstawUchwytyWeTablicyBezNumeracji}}.
| 3 = {{Code|nazwa_obiektu}} {{Patrz|nazwa obiektu}} | _3 = Nazwa obiektu.
| 4 = {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} | _4 = Pozycja w normalnej tabeli uchwytów i przeważnie ich numeracji, a tutaj dla tego obiektu.
| 5 = {{Code|kod}} {{Patrz|kod}} | _5 = Numer kodu dla tego obiektu.
}}
Funkcja zbiera elementy tablicy: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}, w tablicy wielowymiarowej o pierwszym elemencie wymiaru o wartości: {{Code|nazwa obiektu}} {{LinkPatrz|nazwa obiektu}}, i trzecim o wartości: {{Code|kod}} {{LinkPatrz|kod}}, oraz o drugim: {{Code|uchwyty_bez_numeracji}} {{Patrz|uchwyty_bez_numeracji}}.
Ta tablica: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}, ma pierwszy element, którym jest element numerowany na pozycji: {{Code|1}}, którym jest uchwyt danego obiektu o wartości zmiennej: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, drugiem elementem jest wyliczony numer strony, a tutaj tego numeru, nigdynie ma prawa być.
Ta funkcja jest wykorzystywana do liczenia szablonów tytułów: {{s|Śródtytuł}}, którego zawartość nagłówka, na który on wskazuje, jest do pobierana w tym przypadku przy pomocy szablonu: {{s|LinkŚródtytuł}} lub {{s|LinkŚródtytułTutaj}}. Nie są uwzględniane przy tym szablony ustawiania: {{s|Śródtekst}}, i pobierania: {{s|PobierzŚródtekst}}, bo one w naszej tablicy nic nie zmieniają.
== {{Śródtytuł|p.WydobywanieUchwytuZeTablicyBezNumeracji}}{{Code|p.WydobywanieUchwytuZeTablicyBezNumeracji}} ==
Funkcja wydowywa tablicę uchwytu dla pozycji, ale nie sam uchwyt, dla podtablicy: {{Code|uchwyty_bez_numeracji}} {{LinkPatrz|uchwyty_bez_numeracji}}, o danym kodzie: {{Code|kod}} {{LinkPatrz|kod}}, dla nazwy obiektu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WydobywanieUchwytuZeTablicyBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
| 2 = {{Code|tabela_elementow_strony_kodow}} | _2 = Jak w: {{LinkPatrz|tabela_elementow_strony_kodow}}.
| 3 = {{Code|nazwa_obiektu}} | _3 = Jak w: {{LinkPatrz|nazwa_obiektu}}.
| 4 = {{Code|kod}} | _4 = Jak w: {{LinkPatrz|kod}}.
}}
Funkcja wykorzystuje elementy tablicy: {{Code|uchwyty_bez_numeracji}} {{LinkPatrz|uchwyty_bez_numeracji}}, ustalane przez funkcję: {{LinkŚródtytuł|p.UstawUchwytyWeTablicyBezNumeracji}}, w tablicy: {{Code|tabela_elementow_strony_kodow}} {{LinkPatrz|tabela_elementow_strony_kodow}}.
== {{Śródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}}{{Code|p.RozpatrywanieElementuUchwytuNumeracji}} ==
Funkcja wsadzająca utworzoną tablicę z podanym uchwytem do ogólnej tablicy pozycji nazwanych tabel z uchwytami o danej pozycji z nim. Ta tablicą jest: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych}}, a własciwie do jej podtablicy o kluczu: {{Code|tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tabela_listy_danych_analizy_ksiazki2}}, a jeszcze lepiej, w jego podtablicy o kluczu o wartości reprezentowanej przez: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.RozpatrywanieElementuUchwytuNumeracji(self,uchwyt_obiektu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
| 2 = {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} | _2 = Kod uchwytu podanego do szablonu stronicowego z odpowiednim uchwytem.
| 3 = {{Code|tab_numer}} {{Patrz|tab_numer}} | _3 = Tablica z numerkami ilości elementów w tablicy parametrów nazwanych z uchwytami, w danym elemencie analizowania strony z uchwytami i obiektami.
| 4 = {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} | _4 = Tablica analizowania obiektów, danej strony.
| 5 = {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} | _5 = Kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu książki.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu}}.
| 7 = {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} | _7 = Czy artykuł aktualny wyświetlany w przeglądarce.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} | _8 = Nazwa artykułu aktualna lub bieżąca, w wersji nieszablonowej, i jednoczeście uchwyt do bazy danych kodów zakodowanego tekstu.
| 9 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _9 = Nazwa artykułu aktualna lub bieżąca, w wersji szablonowej.
| 10 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} | _10 = Tablica bazy kodów parsowania strony.
| 11 = {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} | _11 = Tablica analizy poszczególnych elementów kodów, do szybszego działania skryptu.
| 12 = {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} | _12 = Tablica zbierająca odkodowany i rozwinięty uchwyt, do analizowania w nim zebranych kategorii, według modułu: {{Code|{{ld2|StronicowyParser/Kategorie}}}}, uruchamiana w szablonach stronicowych z funkcjami '''stronicowego parsera'''.
}}
Funkcja rozwija: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}, funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a potem je odkodowuje przy pomocy: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a jeżeli ona nie jest pusta, to dla tego jest uruchamiana funkcja: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
Tworzona jest tablica: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}, z uchwytem, jako pierwszy parametr.
Jest sprawdzane, czy element: {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, jest fałszywy, jeżeli tak, to dalej jest sprawdzane, czy są elementy numerowane nazwanej tablicy: {{Code|tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2}}, o nazwie: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, a jeżeli jest pusta - na samym końcu jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_obiektu}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_obiektu}}, czyli jest inicjowana na wartość: {{Code|true}}, to dalej jest sprawdzane, czy dla elementów: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki}}, czy dana książka jest poza zakresem obsługiwanym, czyli rewidowane jest, czy jest ustawiony kod problemu: {{Code|strony poza zakresem obsługiwanym}} {{Patrz|strony poza zakresem obsługiwanym}}, czy a jeżeli jednak nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, ustawiające pewne elementy błędu, jeżeli trzeba to zrobić.
Gdy tabela: {{Code|tab_numer}} {{LinkPatrz|tab_numer}}, odpowiada nienilowej tablicy, wtedy element: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}, jest wstawiany na odpowiedniej pozycji, ale przeważnie nie na końcu, przy pomocy funkcji: {{LzLua|table.insert}}, dzięki określonej tabeli: {{Code|tab_numer}} {{LinkPatrz|tab_numer}}, przeciwnie na jej końcu.
Funkcja zwraca element tablicowy: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}.
Ta tablica: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}, ma pierwszy element, którym jest element numerowany na pozycji: {{Code|1}}, którym jest uchwyt danego obiektu o wartości zmiennej: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}.
== {{Śródtytuł|p.RozpatrywanieSzablonuObiektuDoNumeracji}}{{Code|p.RozpatrywanieSzablonuObiektuDoNumeracji}} ==
Funkcja, która uruchamia funkcję: {{LinkŚródtytuł|p.RozpatrywanieElementuUchwytuNumeracji}} {{Patrz|p.RozpatrywanieElementuUchwytuNumeracji}}, dla istniejącego uchwytu w postaci nazwanej o kluczu: {{Code|uchwyt}} {{Patrz|uchwyt}}, lub nienazwanej - w postaci numeru jego uchwytu o kluczu o wartości zmiennej: {{Code|numer_numeracji}} {{Patrz|numer_numeracji}}.
Funkcja ta wsadza tabele z uchwytem na odpowiednią pozycję w odpowiedniej nazwanej tabeli o nazwie obiektu o wartości: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}, w ogólnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych}}.
Dokładniej własciwie w tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych}}, do jej podtablicy o kluczu: {{Code|tabela_listy_danych_analizy_ksiazki2}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki2}}, a jeszcze lepiej, w jego podtablicy o kluczu o wartości reprezentowanej przez: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu}}. To jest robione poprzez funkcję: {{LinkPatrz|p.RozpatrywanieElementuUchwytuNumeracji}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
| 2 = {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} | _2 = Tabela parametrów szablonu.
| 3 = {{Code|tablica_zmiennych}} | _3 = Jak w: {{LinkPatrz|tablica_zmiennych}}.
| 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _4 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu}}.
| 6 = {{Code|czy_artykul_korzystany}} | _6 = Jak w: {{LinkPatrz|czy_artykul_korzystany}}.
| 7 = {{Code|numer_numeracji}} | _7 = Jak w: {{LinkPatrz|numer_numeracji}}.
| 8 = {{Code|tab_numer}} | _8 = Jak w: {{LinkPatrz|tab_numer}}.
| 9 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _9 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}.
| 10 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _10 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa}}.
| 11 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _11 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}.
| 12 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _12 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}.
| 13 = {{Code|KtorySzablonMaZwracacKategorie}} | _13 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie}}.
}}
Funkcja zwraca wartość: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}, którą jest pewna tablica, uzyskaną z wywołania funkcji: {{LinkPatrz|p.RozpatrywanieElementuUchwytuNumeracji}}.
Ta tablica: {{Code|lista_dwuelementowa}} {{LinkPatrz|lista_dwuelementowa}}, ma pierwszy element, którym jest element numerowany na pozycji: {{Code|1}}, którym jest uchwyt danego obiektu o wartości zmiennej: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
jj58ggtyvw82p594omx3xdtd8tcd30j
Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II
4
63909
558135
557572
2026-10-01T06:08:51Z
Persino
2851
558135
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}}{{Code|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji}} ==
Funkcja sprawdza, czy dany artykuł należy do artykułów, któregoś spisu treści, a jeżeli nie, to dla stron, które nie należą do kategorii z ustawionym problemem: {{Code|strony poza zakresem obsługiwanym}} {{Patrz|strony poza zakresem obsługiwanym}}, ale do nieaktualnej strony jest ustawiony problem: {{Code|brak spisów treści do dołączonych stron}} {{Code|brak spisów treści do dołączonych stron}} {{Patrz|brak spisów treści do dołączonych stron}}. Natomiast dla aktualnej dla stron tej samej kategorii ustawiany jest problem: {{Code|brak spisu treści do korzystanych stron}} {{Patrz|brak spisu treści do korzystanych stron}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
}}
== {{Śródtytuł|p.PusteParametryReferencji}}{{Code|p.PusteParametryReferencji}} ==
Funkcja sprawdza, jeśli są podane parametry szablonu stronicowego, które są w kategorii: {{lk|Szablony stronicowe}}, czyli: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, ewentualnie: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, ale zawsze z: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, czy są one puste.
A jeżeli one istnieją i są takie, to są ustawione problemy typu, jeśli ich wcześniej nie ustawiono:
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, kolejno dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, kolejno z numerami problemów: {{Code|1}}, {{Code|2}} i {{Code|3}}.
Dla obiektu o nazwie: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
{{Hr}}
Definicja skrótowa funkcji
<syntaxhighlight lang="lua">
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)...end;
</syntaxhighlight>
Paraametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _2 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Uchwyt obiektu, podane w danym szablonie stronicowym.
| 4 = {{Code|nazwa_obiektu}} | _4 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
}}
== {{Śródtytuł|p.SzablonyReferencjiParametrowych}}{{Code|p.SzablonyReferencjiParametrowych}} ==
Funkcja z parametrów pudełkowych nazwy artykułu {{ZobaczTeż|nazwa artykułu}}: {{Code|nazwa artykułu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, albo {{Code|1}}, gdy bezuchwytowe, lub {{Code|2}}, i pełnej nazwy książki {{ZobaczTeż|pełna nazwa strony}}: {{Code|nazwa książki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} albo, {{Code|2}}, gdy bezuchwytowe, lub {{Code|3}}.
To wszystko jest liczone z: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, lub przy użyciu parametru również: {{Code|bezuchwytowe}} {{Patrz|bezuchwytowe}}, gdy mamy szablon stronicowy {{lk|Szablony stronicowe}}, bezuchwytowy, wtedy {{Code|true}}, przeciwnie {{Code|false/nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,bezuchwytowe)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|tabela_parametrow_szablonu}} | _1 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _2 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _3 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _4 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _5 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|bezuchwytowe}} | _6 = Jak w: {{LinkPatrz|bezuchwytowe}}.
}}
Funkcja uzyskane obie nazwy książkowe dekoduje funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, a później jest liczony adres bezwzględny podręcznika ze względnego dzięki: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, przy pomocy podstawy: {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, podobnie, ale wcześniej jest liczona nazwa artykułu {{LinkZobaczTeż|nazwa artykułu}}, czyli: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, ale tutaj adres względny jest liczony z podstawy o ciągu pustym jako drugi parametr.
Na podstawie pełnej nazwy książki {{LinkZobaczTeż|pełna nazwa strony}}: jest liczona bardziej jej wersja pełniejsza, jeżeli to jest w ogóle możliwe z: {{Code|{{sr|#p["PełnaNazwaStronicowejKsiążki"]|p=Książkowe}}}}. A póżniej z tego wszystkiego są liczone nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy funkcji nazw: {{Code|{{ld2|Nazwy}}}}.
Na samym końcu funkcji są zwracane parametry nazw, czyli: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
l7qmvybd9id0xxmx518q3iwhivdod64
Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom III
4
63910
558136
557593
2026-10-01T06:47:03Z
Persino
2851
558136
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Tutaj są przedstawione inne funkcje do zbierania informacji o projekcie.
== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ==
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, ale nie kontenerowych. Gdy parametr nie ma wartości, lub ma wartość fałszywą: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, która liczy kolejne nazwy charakteryzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artykułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}} - ona służy do zbierania informacji o stronie, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|tabela_parametrow_szablonu}} | _2 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _3 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _5 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _6 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|KtorySzablonMaZwracacKategorie}} | _7 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_inna_wartosc_tekst}} | _8 = Jak w: {{LinkPatrz|czy_inna_wartosc_tekst}}.
| 9 = {{Code|tab_nazwy}} | _9 = Jak w: {{LinkPatrz|tab_nazwy}}.
}}
== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ==
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Funkcja służy do analizy szablonów kontenerowych, na podstawie jego parametrów pudełkowych modułu: {{Code|{{m|Szablonowe}}}}, tzn. {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}} (przestrzeń, w której mieśści się strona) i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}} (nazwa strony).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|tabela_parametrow_szablonu}} | _2 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _3 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _5 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _6 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} | _7 = Funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}}.
| 8 = {{Code|KtorySzablonMaZwracacKategorie}} | _8 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
}}
Gdy parametry: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, uzyskane z tabeli parametrów szablonu: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu}}, nie istnieją, wtedy funkcja się natychmiast zakańcza.
A gdy: {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, istnieje i jest puste, wtedy też tak samo.
Gdy w parametrach pudełkowych: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, są kody bazy kodowania, wtedy funkcja się natychmiast zakańcza, wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Zmienne istniejące: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Z: {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, którą nazwiemy tą samą zmienną.
Z tych dwóch nazw, czyli: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest przeistaczany na bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z tak uzyskanego adresu.
Przedostatnia funkcja, którą jest funkcją ostatnią przed funkcją zbierającą, czyli: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jeśli istnieje, to jest uruchamiana bezparametrowo, która służy do ustalania, który szablon ma zwracać kategorie na stronę.
== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ==
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Funkcję wykorzystuje się przy analizie linków, jeśli chcemy, by ładowana strona inna niż bieżąca, w której miesci się ten link, została przeanalizowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|tabela_parametrow_szablonu}} | _2 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _3 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _5 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _6 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
}}
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw.
Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}} (z uwzględnieniem parametru: {{Code|tab_nazwy}} {{LinkPatrz|tab_nazwy}}), która z kolei w niej jest uruchamiana procedura, z parametrem: {{Code|czy_inna_wartosc_tekst}} {{LinkPatrz|czy_inna_wartosc_tekst}}, o wartości {{Code|true}}, zwracająca wartość, czyli: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
fa2bmyjx2v0771tgs5eh2bu3q2jbbah
558137
558136
2026-10-01T06:47:47Z
Persino
2851
/* {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} */
558137
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Tutaj są przedstawione inne funkcje do zbierania informacji o projekcie.
== {{Śródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}}{{Code|p.ZbieranieInformacjiStronyWoluminowychPozycji}} ==
Funkcja zbierania informacji na stronie dla szablonów stronicowych: {{lk|Szablony stronicowe}}, bezuchwytowych, ale nie kontenerowych. Gdy parametr nie ma wartości, lub ma wartość fałszywą: {{Code|czy_inna_wartosc_tekst}} {{Patrz|czy_inna_wartosc_tekst}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, która liczy kolejne nazwy charakteryzujące nazwy dla danego artykułu książki dla danej strony, przeciwnie parametry nazw są ściagane z: {{Code|tab_nazwy}} {{Patrz|tab_nazwy}}, ta tabela składa się numerowanych elementów, którymi są nazwy charakyteryzujące stronę.
Gdy jakaś nazwa artykułu strony została policzona, wtedy są liczone pozostałe nazwy z: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}} - ona służy do zbierania informacji o stronie, a tuż przed nim, jeśli istnieje: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|tabela_parametrow_szablonu}} | _2 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _3 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _5 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _6 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|KtorySzablonMaZwracacKategorie}} | _7 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_inna_wartosc_tekst}} | _8 = Jak w: {{LinkPatrz|czy_inna_wartosc_tekst}}.
| 9 = {{Code|tab_nazwy}} | _9 = Jak w: {{LinkPatrz|tab_nazwy}}.
}}
== {{Śródtytuł|p.ZbieranieKontenerowychInformacji}}{{Code|p.ZbieranieKontenerowychInformacji}} ==
Funkcja do zbierania informacji, która z parametrów pudełkowych: {{Code|{{m|Pudełko}}}}, czyli: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}} i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, z nich są liczone parametry nazw charakteryzujące artykuł książki strony. A na samym końcu jest uruchamiana funkcja: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}} {{Patrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}.
Funkcja służy do analizy szablonów kontenerowych, na podstawie jego parametrów pudełkowych modułu: {{Code|{{m|Szablonowe}}}}, tzn. {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}} (przestrzeń, w której mieśści się strona) i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}} (nazwa strony).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|tabela_parametrow_szablonu}} | _2 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _3 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _5 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _6 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|czy_szablon_pudelkowy_strony_zbiorczej}} {{Patrz|czy_szablon_pudelkowy_strony_zbiorczej}} | _7 = Funkcja potrzebna do funkcji zbierającej {{LinkPatrz|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}, określającej, czy mamy szablon pudełkowy strony zbiorczej, taki jak: {{Code|{{s|StronaSubst}}}}, czy: {{Code|{{s|KsiążkaSubst}}}}, zobacz stronę: {{Code|{{lr2|Moduły/StronicowyParser/StronaSubst}}}}.
| 8 = {{Code|KtorySzablonMaZwracacKategorie}} | _8 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
}}
Gdy parametry: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, uzyskane z tabeli parametrów szablonu: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieją, wtedy funkcja się natychmiast zakańcza.
A gdy: {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, istnieje i jest puste, wtedy też tak samo.
Gdy w parametrach pudełkowych: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, są kody bazy kodowania, wtedy funkcja się natychmiast zakańcza, wykrywane przez funkcję: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}.
Zmienne istniejące: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, są też dekodowane funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Z: {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, jest wydzielana nazwa jednostki właściwa bez nazwy nagłówka, którą nazwiemy tą samą zmienną.
Z tych dwóch nazw, czyli: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, jest liczony adres, ewentualnie względny, który za pomocą funkcji: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jest przeistaczany na bezwzględny.
Dalej są liczone nazwy charakteryzujące artykuł danej książki strony, czyli: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z tak uzyskanego adresu.
Przedostatnia funkcja, którą jest funkcją ostatnią przed funkcją zbierającą, czyli: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jeśli istnieje, to jest uruchamiana bezparametrowo, która służy do ustalania, który szablon ma zwracać kategorie na stronę.
== {{Śródtytuł|p.ZbieranieKontenerowychInformacjiReferencji}}{{Code|p.ZbieranieKontenerowychInformacjiReferencji}} ==
Funkcja zbiera informacje o stronie. Na podstawie informacji o nazwie artykułu i pełnej nazwy książki liczy parametry nazw charakteryzujące artykuł, co na tej podstawiwe liczy parametry pudełkowe i wywołuje funkcję główną przez inną funkcję, też zbierającą, i zbiera informacje o artykule.
Funkcję wykorzystuje się przy analizie linków, jeśli chcemy, by ładowana strona inna niż bieżąca, w której miesci się ten link, została przeanalizowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|tabela_parametrow_szablonu}} | _2 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 3 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _3 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _5 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _6 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
}}
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jako parametry zwracane przez funkcję: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Funkcja wyznacza parametry pudełkowe {{m|Pudełko}}, tzn.: {{Code|nazwa przestrzeni nazw}} {{LinkPatrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{LinkPatrz|nazwa jednostki}}, na podstawie tych nazw.
Funkcja na samym końcu wywołuje funkcję zbierającą dane ze strony: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyWoluminowychPozycji}} (z uwzględnieniem parametru: {{Code|tab_nazwy}} {{LinkPatrz|tab_nazwy}}), która z kolei w niej jest uruchamiana procedura, z parametrem: {{Code|czy_inna_wartosc_tekst}} {{LinkPatrz|czy_inna_wartosc_tekst}}, o wartości {{Code|true}}, zwracająca wartość, czyli: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
pv2nsjw13x0b96xgjuxeph5l16w9e8j
Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom V
4
63912
558138
557587
2026-10-01T07:06:10Z
Persino
2851
558138
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejo jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, z kodem problemu: {{Code|brak uchwytu}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
d6nvpi3gr2db3adw3749bekqxh0x4lx
558139
558138
2026-10-01T07:08:34Z
Persino
2851
/* {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} */
558139
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejo jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, z kodem problemu: {{Code|brak uchwytu}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ep2dn4dpzice0469mn3cn78h3pramip
558140
558139
2026-10-01T07:09:42Z
Persino
2851
/* {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} */
558140
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołujac: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, z kodem problemu: {{Code|brak uchwytu}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
8eqlc0zhp4pod2e62ssy78cv3c22a4h
558141
558140
2026-10-01T07:29:15Z
Persino
2851
/* Wyznaczanie nazw linku stronicowego */
558141
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykuł€ się nie zmienia.
}}
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, z kodem problemu: {{Code|brak uchwytu}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
cy4p1uvz8vuqkq1lwuek0khgrqg1jpa
558143
558141
2026-10-01T07:45:31Z
Persino
2851
/* {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} */
558143
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykuł€ się nie zmienia.
}}
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, z kodem problemu: {{Code|brak uchwytu}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
fgv9d34adhzpq09kdboj549y0d5wfbb
558144
558143
2026-10-01T07:55:59Z
Persino
2851
/* {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} */
558144
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykuł€ się nie zmienia.
}}
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, z kodem problemu: {{Code|brak uchwytu}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
njobqxm5r0agidhab0gn7io4tm56lo1
558145
558144
2026-10-01T08:16:11Z
Persino
2851
/* {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} */
558145
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykuł€ się nie zmienia.
}}
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
p9mvtqen20y4z8tl0h0m2boouc6llt9
558146
558145
2026-10-01T08:17:25Z
Persino
2851
/* Przypadek uchwytu pustego */
558146
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykuł€ się nie zmienia.
}}
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
slv9q34g1ii9x8umm6x6ydhwxoa81z5
558147
558146
2026-10-01T08:21:42Z
Persino
2851
/* {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} */
558147
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykuł€ się nie zmienia.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
oow0cvzh6314p8t17rgreunzz36esit
558148
558147
2026-10-01T08:24:16Z
Persino
2851
/* {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} */
558148
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Wtedy funkcja się zakańcza.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
948mh6injs773ijbvy7jdca5hwj7epn
558149
558148
2026-10-01T08:27:30Z
Persino
2851
/* Nazwa artykułu nie istnieje */
558149
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}{{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
py9dwg2vytmebquz9lq5qt2ijbpiz3j
558150
558149
2026-10-01T08:28:00Z
Persino
2851
/* Nazwa artykułu nie istnieje */
558150
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, bo jest policzona, więc te {{ZobaczTeż|nazwy}}: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrów charakteryzujących nazwę aktualnego artykułu, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sz0sna0tahtehypilxzj8l4takhxhrm
558151
558150
2026-10-01T08:31:05Z
Persino
2851
/* Ale istnieje tylko nazwa artykułu */
558151
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, nie istnieje, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu zaczyna istnieć i inicjujemy wtedy ją wartością pustą, a jeśli pusta, to za zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, by potem się zakończa ta funkcja.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
89jok7a3ojicqvm1y88ljlbegljynuc
558152
558151
2026-10-01T08:35:47Z
Persino
2851
/* Dodatkowo istnieje tylko nazwa książki */
558152
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest pusta, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu ma nadal taką wartość, a jeśli pusta, to zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tą samą metodą, co w punkcie: {{LinkZobaczTeż|nazwy}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
k55mivs3bkytz06294lg9o9p7xt8uic
558153
558152
2026-10-01T08:37:15Z
Persino
2851
/* Liczenie parametrów nazw wywołań szablonowych linków */
558153
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest pusta, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu ma nadal taką wartość, a jeśli pusta, to zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry nazw przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, którymi się przypisje jak w: {{LinkZobaczTeż|nazwy}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
k8lrnr6gkuhp7425twcuv6yrtkoahc6
558154
558153
2026-10-01T08:40:35Z
Persino
2851
/* Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów */
558154
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== Przypadek uchwytu pustego ===
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
=== Istniejący niepusty uchwyt linku ===
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
==== Nazwa artykułu nie istnieje ====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Ale istnieje tylko nazwa artykułu ====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Dodatkowo istnieje tylko nazwa książki ====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest pusta, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu ma nadal taką wartość, a jeśli pusta, to zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
==== Liczenie parametrów nazw wywołań szablonowych linków ====
Przeciwnie są liczone parametry nazw przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}.
==== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów ====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, które były wcześniej generowane przez funkcję: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
eataua3fy2bnhd3j81t5e7blnuoyrxr
558156
558154
2026-10-01T08:53:15Z
Persino
2851
/* {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} */
558156
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== {{Śródtytuł|ZbieranieDanychPrzezGeneralneLinkowanie}}{{Code|ZbieranieDanychPrzezGeneralneLinkowanie}} ===
Główna funkcja do zbierania danych funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}, uruchamiana przed: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function ZbieranieDanychPrzezGeneralneLinkowanie()...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = Brak używanych parametrów funkcji. | komórka1 = tak
}}
==== Przypadek uchwytu pustego ====
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
==== Istniejący niepusty uchwyt linku ====
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
===== Nazwa artykułu nie istnieje =====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
===== Ale istnieje tylko nazwa artykułu =====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
===== Dodatkowo istnieje tylko nazwa książki =====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest pusta, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu ma nadal taką wartość, a jeśli pusta, to zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
====== Liczenie parametrów nazw wywołań szablonowych linków ======
Przeciwnie są liczone parametry nazw przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}.
===== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów =====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, które były wcześniej generowane przez funkcję: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Co potem jest zakończenie działania funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rck0ft7ifrr5z42jwpax1j4bqxldrwa
558157
558156
2026-10-01T08:56:11Z
Persino
2851
/* Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów */
558157
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcje zbieranie informacji o linkach na stronie.
== {{Śródtytuł|p.LinkowanieFinalizowaniePrac}}{{Code|p.LinkowanieFinalizowaniePrac}} ==
Funkcja wsadza uchwyt obiektu, wskazujący na aktualną stronę, do pewnej tablicy, ściśle: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, i ewentualnie ustawia pewne problemy, jeśli je nie ustawiono.
Funkcja dla tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dla jego podtablicy: {{Code|linkobiekt}} {{Patrz|linkobiekt}} (jest to tablica, w której są zbierane w różnych podtablicach, w zależności od obiektu, uchwyty różnych linków na bieżącej stronie), w jego podtablicy o wartości elementu: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, co taka tablica, to nic innego jak obiekt: {{Code|linkobiekttab}} {{Patrz|linkobiekttab}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Obiekt, obsługiwany przez tą funkcję linku.
| 3 = {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} | _3 = Kod obiektu dla: {{LinkPatrz|obiekt}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|uchwyt_obiektu}} | _6 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|czy_pobierz}} {{Patrz|czy_pobierz}} | _8 = Czy to jest szablon typu {{Code|Pobierz}} {{Patrz|Pobierz}}, jak: {{s|PobierzŚródtekst}}.
}}
Funkcja sprawdza, czy nie został ustawiony element {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{Patrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}, a jeżeli tak, to dalej, czy nie ma elementów numerowanych, tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, przy pomocy funkcji: {{Code|{{sr|#p["CzySąElementyNumerowaneTablicy"]|p=Parametry}}}}, a jeśli również tak, czy ma te elementy, to dalej jest sprawdzane, czy został ustawiony problem: {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy: {{Code|{{sr|#p.CzyJestTakiElementTabeliProblemu|p=StronicowyParser/Problemy}}}}, a jeżeli nie jest, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}. Na samym końcu tej instrukcji warunkowej jest ustawiana prawdziwość elementu: {{Code|tablica_zmiennych.sprawdzenie_dokonane_linku}} {{LinkPatrz|tablica_zmiennych.sprawdzenie_dokonane_linku}}.
Dalej poza instrukcją warunkową w tablicy: {{Code|linkobiekttab}} {{LinkPatrz|linkobiekttab}}, jest wstawiany obiekt o wartości: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Następnie, gdy element: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, jest ustawiony na {{Code|true}}, wtedy dla: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, pewna tablica, jest wstawiana do tablicy: {{Code|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane}}, jeśli istnieje, a jeśli nie, to jest tworzona, jako tablica, wtedy też jest to robione. Tą czynnością wstawiany tabelę, do tej tablicy, czyli:
<syntaxhighlight lang="lua">
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
</syntaxhighlight>
== {{Śródtytuł|p.LinkowanieInnychStron}}{{Code|p.LinkowanieInnychStron}} ==
Funkcja do sprawdzania innych stron niż aktualna, a jeżeli dana strona została już sprawdzona, to powtórnie nie jest już rewidowana. Funkcja ustawia w głównej tablicy aktualnej tabeli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} pewne podtablice.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|nazwa_obiektu}} | _5 = jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_przestrzeni_stare}} {{Patrz|nazwa_przestrzeni_stare}}, {{Code|nazwa_przestrzeni_ksiazki_stare}} {{Patrz|nazwa_przestrzeni_ksiazki_stare}}, {{Code|nazwa_ksiazki_stare}} {{Patrz|nazwa_ksiazki_stare}} i {{Code|nazwa_artykulu_stare}} {{Patrz|nazwa_artykulu_stare}} | _6 = Są to kolejno nazwy uzyskane z linków, czy funkcji pobierania, one mogą poszczególne nie istnieć. One są inicjowane w funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|uchwyt_obiektu}} | _8 = Jak w: {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|czy_pobierz}} | _9 = Jak w: {{LinkPatrz|czy_pobierz}}.
}}
Najpierw jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, która w razie poprawności nazwy strony, czyli inaczej nazw strony, charakteryzowanej przez, tzn.: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamia funkcję zdefiniowaną w nim.
{{Tab}}Ta funkcja sprawdza, czy któraś z parametrów nazw istnieje, a jeżeli nie, to dalej jest inicjowana zmienna: {{Code|tablica_zmiennych2}} {{Patrz|tablica_zmiennych2}}, pustą tablicą i podobnie {{Code|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2}}, to uruchamiana jest: {{LinkŚródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do zbierania informacji o stronie nowej lub przebadanej (wtedy zostają zwrócone parametry z wcześniejszego jego analizowania, jak była nowa). Funkcja zwraca trzy parametry, tzn. {{Code|tabela_listy_danych_analizy_ksiazki0}} {{Patrz|tabela_listy_danych_analizy_ksiazki0}}, {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}} i {{Code|czy_inna}} {{Patrz|czy_inna}}.
Te parametry mogą przyjmować wartość {{Code|nil}}, lub pierwszy {{Code|0}}, drugi, to nic innego jest jak: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, a trzeci parametr jest wtedy równy {{Code|true}}, gdy strona jest nowa, ale niekorzystana, a {{Code|false}}, bieżąca, ale niekorzystana, a gdy {{Code|nil}}, gdy np. zawartość strony nie istnieje.
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, istnieje, wtedy jest sprawdzane, czy któreś z parametrów: {{LinkPatrz|tablica_zmiennych2}} i {{LinkPatrz|czy_inna}}, nie istsnieje, wtedy ta funkcja się zakańcza.
=== {{Śródtytuł|JuzPoliczone}}{{Code|JuzPoliczone}} ===
Dla obiektów, dla których jest ustawiony parametr: {{Code|czy_pobierz}} {{LinkPatrz|czy_pobierz}}, co dalej w tym rozgałęzieniu instrukcji warunkowej jest uruchamiana funkcja szablonów tekstu, czyli: {{Code|{{sr|#p.UstawianiePobierz|p=StronicowyParser/SzablonyTekstu}}}}, aby również później za pomocą innych funkcji przeanalizować również tekst w szablonach takich jak: {{s|Śródtekst}}, również wskazywanych przez: {{s|PobierzŚródtekst}}.
Dalej jest tworzona tablica, jeśli nie istnieje, tzn. {{Code|tablica_zmiennych2.dane_juz_policzone}} {{Patrz|tablica_zmiennych2.dane_juz_policzone}}, czyli jest inicjowana pustą tablicą. Dalej jest tworzona, jeśli nie istnieje, tablica wielowymiarowa po kolei, o kluczach kolejno o wartościach: {{Code|nazwa_obiektu}} {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, a jeżeli ta ostatnia wartość tej tablicy była wcześniej, to zwracane jest {{Code|true}}, przeciwnie {{Code|false}}, a tej ostatniej wartości tej tablicy jest przydzielana wartość {{Code|true}}.
=== Dalszy opis funkcji ===
Gdy parametr: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest równy {{Code|0}}, ale nie {{Code|nil}}, wtedy jest sprawdzane, czy artykuł został wcześniej zrewidowany według: {{LinkŚródtytuł|JuzPoliczone}}, a jeżeli tak to jest zakańczany, a gdy ten parametr takiej wartości nie przyjmuje, wtedy tylko jest uruchamiana ta funkcja bez żadnego warunku.
{{Tab}}Następnie jest uruchamiana funkcja: {{Code|{{sr|#p.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony|p=StronicowyParser/SzablonyTekstu}}}}, do przydzielenia pewnych zmiennych z: {{Code|tablica_zmiennych2}} {{LinkPatrz|tablica_zmiennych2}}, do tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, dotyczące szablonów: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
{{Tab}}Jest sprawdzane, czy dany artykuł należy do spisu, jeżeli nie, to są ustawiane pewne kody problemów w tablicy problemów, tzn. {{LinkŚródtytuł|p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
Następnie jest sprawdzane, czy podany uchwyt: {{Code|uchwyt_obiektu}} {{LinkPatrz|uchwyt_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, który jest podany w szablonach linków na aktualnej stronie, czy jest tylko jeden na stronie sprawdzanej, a jeżeli nie jest tak, to jest sprawdzane, czy nie istnieje ustawiony problem: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}, funkcją: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to taki problem jest dodawany dzięki: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
{{Tab}}Uruchamiana jest dalej funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, do sprawdzania pustości pewnych parametrów.
{{Tab}}Gdy tabela: {{Code|tabela_listy_danych_analizy_ksiazki0}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki0}}, jest jednak równa wartości odpowiadającej fałszywej, wtedy jeśli nie istnieje problem: {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, co jest rewidowane elementem: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a jeżeli tak, to dodawany jest taki problem do tabeli problemów na podstawie: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}.
== {{Śródtytuł|p.GeneralneLinkowanie}}{{Code|p.GeneralneLinkowanie}} ==
Funkcja zbiera uchwyty, na aktualnej lub innej stronie, a także je analizuje w odpowiedni sposób, modyfikuje tablica aktualnego modułu, czyli: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, na podstawie poszczególnych wskazywanych artykułów na biężącej książce lub innej, która zbiera raz informacje o danej stronie.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 4 = {{Code|tablica_zmiennych}} | _4 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 5 = {{Code|tabela_parametrow_szablonu}} | _5 = Jak w: {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 6 = {{Code|nazwa_obiektu}} | _6 = Jak w: {{LinkPatrz|nazwa_obiektu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 7 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} | _7 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _8 = Jak w: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 11 = {{Code|KtorySzablonMaZwracacKategorie}} | _11 = Jak w: {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
| 12 = {{Code|czy_pobierz}} | _12 = jak w: {{LinkPatrz|czy_pobierz}}.
}}
=== Wyznaczanie i przetwarzanie uchwytu ===
Funkcja wyznacza uchwyt z tabeli parametrów: {{Code|tabela_parametrow_szablonu}} {{LinkPatrz|tabela_parametrow_szablonu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} lub {{Code|1}}, a później w kodzie jest on kompletowany funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a następnie rozwijany w niej, a później jest dekodowany: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
=== Wyznaczanie nazw linku stronicowego ===
Funkcja liczy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wywołując: {{LinkŚródtytuł|p.SzablonyReferencjiParametrowych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
=== {{Śródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}{{Code|UstalanieNazwStronyArtykularnegoWoluminu}} ===
Funkcja kolejno ustalająca cztery nazwy odpowiadające linkowi, ustalane z ich nazwy artykułu i nazwy książki, ale przed tą funkcją w innej. Funkcją można sterować przy pomocy parametru: {{Code|czy_tak}} {{LinkPatrz|czy_tak}}. Te nazwy nie wszystkie muszą istnieć, a jeżeli któraś nie istnieje, to wtedy dla niej jest brany w funkcji jej odpowiednik z bieżącego artykułu, chodzi tu o jej nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| styl parametru = width:10%;
| 1 = {{Code|czy_tak}} {{Patrz|czy_tak}} | _1 = Jeśli odpowiada prawdziwej wartości, to nazwy przestrzeni nazw: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są brane pod uwagę, a jeśli one poszczególne nie istnieją, to brane są nazwy bieżżaćego woluminu a: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest przypisywana, jeśli istnieje, lub brana jest nazwa artykułu bieżącego woluminu. A jeśli ta zmienna, jednak jest o innej wartości, to brane są w trzech nazwach początkowych nazwy woluminu bieżącego, a w przypadku nazwy artykułu się nie zmienia sytuacja.
}}
=== Inicjowanie wartości starych nazw na podstawie uzyskanych wcześniej ===
Parametry: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa artykulu}} {{LinkPatrz|nazwa artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, te z tym {{Code|_stare}} (na końcu), są inicjowane parametrami bez tego, czyli te wspomniane.
=== Generowanie możliwych kodów problemów i ustawianie zmiennej, przy której mają być zwrócone kategorie ===
Na samym końcu jest uruchamiana: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, z parametrem o tym uchwycie, wyliczonym wcześniej. Ta funkcja mówi przy jakim obiekcie szablonów stronicowych ma być uruchomione generowanie kategorii błędów wyniku uruchomień na stronie poszczególnych szablonów stronicowych, w kategorii na: {{lk2|Szablony stronicowe}}.
=== {{Śródtytuł|ZbieranieDanychPrzezGeneralneLinkowanie}}{{Code|ZbieranieDanychPrzezGeneralneLinkowanie}} ===
Główna funkcja do zbierania danych funkcji: {{LinkŚródtytuł|p.GeneralneLinkowanie}}, uruchamiana przed: {{Code|KtorySzablonMaZwracacKategorie}} {{LinkPatrz|KtorySzablonMaZwracacKategorie|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function ZbieranieDanychPrzezGeneralneLinkowanie()...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = Brak używanych parametrów funkcji. | komórka1 = tak
}}
==== Przypadek uchwytu pustego ====
Gdy uchwyt jest pusty lub nie istnieje, wtedy wywoływana jest funkcja: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}.
* Następnie wtedy, przy uchwycie pustym uruchamia się: {{LinkŚródtytuł|p.SprawdzanieCzyJestNiepoprawnaNazwaStrony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom IV}}, następnie: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}},
* A przy nieistniejącym, jeżeli problem: {{Code|brak uchwytu}}, sprawdzamy przy pomocy: {{LinkŚródtytuł|p.CzyJestTakiProblemowyElement|StronicowyParser/Problemy}}, nie istnieje, to wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}, i ustawiany jest ten problem przy pomocy: {{LinkŚródtytuł|p.UstawTakiProblemowyElement|StronicowyParser/Problemy}}.
==== Istniejący niepusty uchwyt linku ====
Gdy uchwyt: {{Code|uchwyt}} {{LinkPatrz|uchwyt|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest niepusty, wtedy jest wyznaczana nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z niej samej, lub jesli ona nie istnieje, wtedy jeśli nazwa ksiązki istnieje, tylko, wtedy ta nazwa zaczyna być pusta, przeciwnie {{Code|nil}}, wtedy mamy do czynienia ze stroną główną podręcznika. Wiemy to z instrukcji:
<syntaxhighlight lang="lua">
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
</syntaxhighlight>
===== Nazwa artykułu nie istnieje =====
Gdy nazwa artykułu nie istnieje, wtedy wywoływana jest: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|true}}, następnie: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
===== Ale istnieje tylko nazwa artykułu =====
Jeśli nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jest niepusta, i gdy nazwa książki nie istnieje, wtedy są liczone parametry nazw, oprócz nazwy artykułu, przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}, a jeśli jednak nazwa książki jest pusta, to są sprawdzane parametry w: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
===== Dodatkowo istnieje tylko nazwa książki =====
Gdy nazwa artykułu: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, istnieje i jest pusta, i gdy nazwa książki: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest niepusta, wtedy nazwa artykułu ma nadal taką wartość, a jeśli pusta, to zaczyna być potem generowanie kodów błędów funkcją: {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
====== Liczenie parametrów nazw wywołań szablonowych linków ======
Przeciwnie są liczone parametry nazw przy pomocy: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}}, z parametrem pierwszym {{Code|false}}.
===== Uruchamianie właściwych funkcji linków do programowego zrozumienia jego parametrów =====
Gdy nazwy: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, są porównywane z nazwami, które były wcześniej generowane przez funkcję: {{LinkŚródtytuł|UstalanieNazwStronyArtykularnegoWoluminu}} - one są sobie nierówne, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.LinkowanieInnychStron}}, przeciwnie wtedy działają dwie funkcje uruchomione po kolei, tzn.: {{LinkŚródtytuł|p.LinkowanieFinalizowaniePrac}} i {{LinkŚródtytuł|p.PusteParametryReferencji|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom II}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4o6t81ck15c4gj5mv1kq7cd2q71jdtw
Szablon:Link FA/opis/Zobacz też
10
63953
558107
552356
2026-09-30T13:12:44Z
Persino
2851
558107
wikitext
text/x-wiki
<includeonly>
; Opis ogólny{{dk}}
* Interwiki w identyfikatorze są takie wstawiane, jakie istnieją na możliwie polskich projektach, a ewentualnie, jeżeli takie nie istnieją, to angielskich, dla odpowiednich przestrzeni nazw, w zależności od szablonu, w jakim jest używany.
; Szablony pojedynczych linków interwiki w identyfikatorze{{dk}}
* {{s|Link FA}} - umieszczamy w linkach w identyfikatorze, używany do zaznaczenia jednego z istniejących linków interwiki jako nagrodzonego na innym {{NS|l=tak|w=tak|pk=mj}}.
; Szablony umiejszczające linki rysunkowe statusu i interwiki w identyfikatorze{{dk}}
* {{s|Status}} - szablon statusu ukończenia strony, umieszczająca w identyfikatorze, rysunek wraz z linkiem, ze statusem, rysunkowym i linkowym, i inne tego typu z interwiki, dla przestrzeni nazw kolejno: {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}},
; Szablony umiejszczające linki rysunkowe tylko interwiki w szablonie {{nobold|{{s|Siostrzane projekty}}}}{{dk}}
* {{s|Opis kategorii}} lub {{s|Opis kategorii 2}} - szablon opisu kategorii, ale nie umieszczający w identyfikatorze, tylko w szablonie: {{s|Siostrzane projekty}}, ale dla przestrzeni nazw: {{Np|Category|link=tak}}, ale też tam są linki do innych projektów, jak w szablonie {{s|Status}},
* {{s|Dokumentacja}} - szablon do opisu szablonów, a tutaj dla stron szablonów, dla przestrzeni nazw: {{Np|Template|link=tak}}.<!--
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Link FA}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
h3qhfwx5dye7x1cc22ukdao8kpeoxga
Szablon:Status/opis/Zobacz też
10
63954
558111
552011
2026-09-30T13:17:05Z
Persino
2851
558111
wikitext
text/x-wiki
<includeonly>
; Funkcje kompletności{{dk}}
* {{s|Książka}} - szablon przedstawia link do książki, stopień ukończenia z datą tego zauważenia, i informację do książki,
* {{s|Kompletność}} i {{s|Kompletność krótka}} - przedstawia stopień ukończenia artykułu z datą jego dodania,
* {{s|Kategoria}} - szablon dodaje jedną kategorie do strony, odpowiednio, jeśli tego nie oznaczono inaczej, z nazwą sortowania danej strony.
; Funkcje pudełkowe, z których korzysta ten szablon{{dk}}
* {{m|Pudełko}} - funkcje modułu, z których korzysta ten szablon, co do nazwy przestrzeni nazw: {{m|Pudełko|Nazwa przestrzeni nazw 2}}, i nazwy jednostki: {{m|Pudełko|Nazwa jednostki 2}}.
; Identyfikator (prawy górny róg w linii tytułu lub nad stroną, ale pod tytułem){{dk}}
* {{s|Skrót}} - skróty do strony podawane w formie starej lub nagłówkowej, w zależności od wyboru,
* {{s|Skrót szablonu}} - skróty szablonu podawane w szablonie oddzielone znakami potoku, wyświetlane w formie starej lub nagłówkowej, w zależności od wyboru.<!--
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Status}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
1cct3kdk9wu39s1aydjrj24068xcn06
Szablon:Opis kategorii/opis/Zobacz też
10
63955
558109
552018
2026-09-30T13:14:50Z
Persino
2851
558109
wikitext
text/x-wiki
<includeonly>
; Szablony opisu kategorii, wersja nowa i z niego skonstruowana jego stara{{dk}}
* {{s|Opis kategorii}} - szablon z dodatkowymi możliwymi parametrami: {{Code|bez ramki}}, {{Code|z nagłówkiem}}, {{Code|ze stopką}}, {{Code|bez kolumn}}, {{Code|liczba kolumn}},{{Code|min szerokość kolumn}}, {{Code|min główna szerokość}} i {{Code|bez czcionki}},
* {{s|Opis kategorii 2}} - szablon bez dodatkowych parametrów: {{Code|bez ramki}}, {{Code|z nagłówkiem}}, {{Code|ze stopką}}, {{Code|bez kolumn}}, {{Code|liczba kolumn}},{{Code|min szerokość kolumn}}, {{Code|min główna szerokość}} i {{Code|bez czcionki}}.<!--
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z: {{s|Opis kategorii}} i {{s|Opis kategorii 2}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
9y3hu1hxo6xim7fa45kqfdk9t8725se
Szablon:Kwestie techniczne/opis/Zobacz też
10
63960
558106
552355
2026-09-30T13:11:57Z
Persino
2851
558106
wikitext
text/x-wiki
<includeonly>
; Szablony dokumentacji użyte na stronach opisów szablonów{{dk}}
* {{s|Strukturyzacja Wizualnego Edytora}} - szablon wyświetlający link do strony na {{NS|l=tak|pk=mj}} dotyczącej edytora '''VisualEditor''',
* {{s|Kwestie techniczne}} - szablon wyświetlający link do strony na {{NS|l=tak|pk=mj}} rozwiązującej problemy natury technicznej,
* {{s|Dokumentacja}} - szablon dokumentacji, w którym są użyte w tej sekcji powyższe szablony,
* {{s|Dokumentacja/preload}} - szablon, w którym wykorzystuje się ten szablon.<!--
--></includeonly><noinclude><!--
-->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Kwestie techniczne}}.}}<!--
-->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!--
--></noinclude>
77zfhfyreg37ebiz39h1yj6567qsz2w
Wikibooks:Moduły/StronicowyParser/ZbieranieDanychStron/Moduł główny/Część II
4
64134
558159
557595
2026-10-01T09:15:54Z
Persino
2851
/* Zwracane wartości i ich opis */
558159
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/ZbieranieDanychStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}}{{Code|p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi}} ==
Jest to dokończenie dokumentacji funkcji: {{Code|{{sr|#p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|p=StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}}}, ze strony: {{lr2|Moduły/StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
=== Opis działania funkcji z użytymi funkcjami lokalnymi zdefiniowanych w tej funkcji ===
Te funkcje, które są lokalne, są zdefiniowane w funkcji głównej, by je użyć w niej, i one jedynie służą na jej użytek.
==== Artykuły przeanalizowane lub brak pewnych elementów bazy ====
Aby pobrać dane artykułu (strony) książki, ewentualnie zwykłej strony, nie podręcznika, uruchamiana jest funkcja: {{LinkŚródtytuł|__FUNKCJA_POBIERANIE|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}. Ta funkcja zwraca wartości, charakteryzująca, czy ta strona została zanalizowana, nawet ta aktualna, jakie są dane danej książki, itd.
Jeżeli pierwszy parametr zwracany tej powyżej funkcji nie ma wartości, wtedy funkcja się zakańcza z wynikami:
<syntaxhighlight lang="lua">
return wartosc_wyniku,dane_zebrane_ze_stron,czy_inna;
</syntaxhighlight>
A jeżeli jednak ta wartość jest zero, i taki artykuł został zrewidowany i sprawdzony, a także zbazowany, w takim razie działa funkcja: {{LinkŚródtytuł|StronaSubstFunkcja|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, i zwracany jest wynik jak poprzednio.
==== Strony (artykuły) poza zakresem obsługiwanym książkowym ====
Jeśli ta funkcja nie została zakończona wcześniej, w tym wypadku, jeżeli strona nie jest artykułem książkowym, wtedy jest ustawiany kod problemu {{Code|strony poza zakresem obsługiwanym}} {{LinkPatrz|strony poza zakresem obsługiwanym|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, przy pomocy: {{Code|{{sr|#p.DodawanieProblemowegoElementuDoTablicy|p=StronicowyParser/Problemy}}}}.
==== Tworzenie bazy artykułu ====
Dla artykułu nieprzeanalizowanego tworzone są tabele artykułu, dzięki: {{LinkŚródtytuł|__FUNKCJA_ARTYKULU|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, dlatego, którego szablony zostaną przeanalizowane, zebrane zostaną dane artykułu (strony). Jedna ze zmiennych jest tablica: {{Code|tablica_ksiazki}} {{LinkPatrz|tablica_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, charakeryzująca dane zebrane specjalnie dla artykułów danej książki.
==== Spisy książki ====
Zbierane są wiadomości o wszystkich spisach książki danego artykułu, na podstawie wywołania: {{LinkŚródtytuł|InneInformacjePrzebneDoAnalizowanejKsiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
<syntaxhighlight lang="lua">
local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki();
</syntaxhighlight>
* Jeżeli wychodzi, że spis już został przeanalizowany wcześniej, ale względem przekierowań strony, i dana strona została już przeanalizowana, ale względem jego przekierowania, czyli według: {{Code|wartosc_wyniku}}, jeśli istnieje, to funkcja główna ta zakańcza się z tą wartością. Ta wartość mówi, dwie pierwsze wartości:
** Czy przeanalizowano już daną stronę, ale względem przekierowań strony,
** Druga wartosc, to {{Code|true}}, gdu stronę, taką przeanalizowano.
* Dwie ostatnie:
** Trzecim jego parametrem jest: {{Code|artykul_bazowy}} {{Patrz|artykul_bazowy}} (to jest nic innego jak: {{Code|artykul}} {{LinkPatrz|artykul|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}), mówiący, jaki jest artykuł bazowy danego przekierowania, czyli na co wskazuje przekierowanie.
** Ta funkcja też zwraca parametr: {{Code|kod_wyniku_bazowy}} {{Patrz|kod_wyniku_bazowy}} (to jest nic innego jak: {{Code|kod_wyniku}} {{LinkPatrz|kod_wyniku|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}), który przyrównujemy do: {{Code|kod_wyniku_przekierowan}} {{LinkPatrz|kod_wyniku_przekierowan|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
==== Spis główny książki do spisu głównego bieżącego podręcznika ====
; Jeżeli{{dk}} {{nobold|{{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{LinkPatrz|adres_woluminu_bazowego_spisu_rzeczy|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}}}, zmiennej{{dk}} {{nobold|{{Code|tablica_ksiazki}} {{LinkPatrz|tablica_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}}}, ale wartość{{dk}}{{nobold|{{Code|kod_wyniku_bazowy}} {{LinkPatrz|kod_wyniku_bazowy}}}}, istnieje, wtedy zmienne{{dk}}
* {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uzyskują wartości kolejno w sposób ponumerowany z: {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{LinkPatrz|adres_woluminu_bazowego_spisu_rzeczy|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
* A artykuł bazowy: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} z: {{Code|artykul_bazowy}} {{LinkPatrz|artykul_bazowy}}.
; Tabele przestrzenne poszczególnych nazw książki{{dk}}
* Tablice kolejne przestrzenne, w których zebrane są informacje o ksiązkach (artykułach), liczymy kolejno ze zmiennych kolejno z kolejnych elementów tablicy ponumerowanej z {{Code|referencja_do_nowej_formy_spisu}} {{LinkPatrz|referencja_do_nowej_formy_spisu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
Uzyskane tabele są to tabele dla nazw adresu spisu głównego książki, na które wskazuje przekierowanie do bieżącego artykułu podręcznika, który też taki musi być, więc główny.
==== Operowanie na tablicy spisu książki ====
Gdy spis: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, istnieje aktualnej książki, co jest kluczem zmiennej: {{Code|tablica_ksiazki}} {{LinkPatrz|tablica_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}:
* Wtedy gdy mamy do czynienia z przekierowaniami dla aktualnej strony, wtedy liczymy z funkcji: {{Code|{{sr|#p.OdpowiednikNaPrzemianArtykularnychStronWoluminu|p=StronicowyParser/Potrzebne}}}},
* Liczymy artykuł: {{Code|artykul}} {{LinkPatrz|artykul|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, i kod wyniku: {{Code|kod_wyniku}} {{LinkPatrz|kod_wyniku|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, dla stron prowadzących przez przekierowanie, lub będących nieprzekierowaniami,
* Drugim parametrem jest zwracanym przez tą funkcję, czyli to jest: {{Code|kod_wyniku}} {{LinkPatrz|kod_wyniku|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, którego w dalszej instrukcji warunkowej mamy z niej: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, która przyjmuje wartość zmiennej: {{Code|artykul}} {{LinkPatrz|artykul|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}},
* Dalej liczymy jedynie: {{LinkŚródtytuł|__FUNKCJA_ARTYKULU|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
A na samym końcu po tych instrukcjach warunkowych liczymy: {{Code|kod_wyniku_przekierowan}} {{LinkPatrz|kod_wyniku_przekierowan|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, jeżeli owa nie ma wartości, wtedy ma ona wartość: {{Code|kod_wyniku}} {{LinkPatrz|kod_wyniku|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
==== Tworzenie nazwy modułu ====
Liczymy: {{Code|nazwa_modulu}} {{LinkPatrz|nazwa_modulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, z parametrów: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przy pomocy funkcji: {{Code|{{sr|#p["NazwaModułu"]|p=Nazwy/Tom III}}}}.
==== Przekierowania dla stron bez spisu ====
; Operacje na przekierowaniach, jeśli istnieją{{dk}}
* Liczymy: {{Code|wynik}} {{Patrz|wynik}}, z funkcji: {{LinkŚródtytuł|PrzekierownieAwaryjne|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, która wywoływana jest bez parametrów.
* Gdy: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} jest zmienna o wartości prawdziwej, wtedy zmienna: {{Code|self.nazwa_modulu_biezaca}} {{Patrz|self.nazwa_modulu_biezaca}}, równa się wartości zmiennej: {{Code|nazwa_modulu}} {{LinkPatrz|nazwa_modulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
; Przedwczesne zakończenie funkcji z wartościami zwracanymi{{dk}}
* Gdy zmienna: {{Code|wynik}} {{LinkPatrz|wynik}}, jest wartością odpowiadającej elementowi prawdziwemu, wtedy funkcja zakańcza się z wartością o tej zmiennej, co świadczy, że strona została już przeanalizowana.
==== Zmienne nazw danego bieżącego artykułu książki ====
; Gdy{{dk}} {{nobold|{{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}}}, jest o wartości odpowiadającej prawdziwej{{dk}}
* Wtedy zmienne nazw odpowiadającej książki bieżącego artykułu dla książki rozważanej, jeśli nie istnieją, to są one tworzone, w tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_woluminu}} {{Patrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{Patrz|nazwa_woluminu}} i {{Code|nazwa_podstrony_woluminu}} {{Patrz|nazwa_podstrony_woluminu}}, elementy, którym kolejno przydzielamy wartości: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
==== Nazwa modułu aktualna lub bieżąca ====
Liczymy nazwę: {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, która jest wykorzystywana do liczenia do stron zbiorczych, jest to alternatywna strona, na której ma wyświetlić stronę zbiorczą, to się dzieje dzięki podzmiennej: {{Code|alternatywna}} {{Patrz|alternatywna}}, w tabeli: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}. Do liczenia są wykorzystywane zmienne ze strony: {{s|Podręcznik/Ustawienia/}}.
==== Dane artykułu i książki, bieżącej ====
; Dla strony bieżącej, według zmiennej{{dk}} {{nobold|{{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}}}{{dk}}
* Jest ustawiana zmienna o kluczu {{Code|artykul_biezacy}} {{Patrz|artykul_biezacy}}, dla zmiennej: {{Code|artykul_analizowany}} {{LinkPatrz|artykul_analizowany|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, jej jest dawana wartość {{Code|true}}, tzn. czy dany artykuł jest bieżący.
* A dalej dla zmiennej: {{Code|tablica_ksiazki}} {{LinkPatrz|tablica_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, o kluczu: {{Code|ksiazka_analizowana}} {{Patrz|ksiazka_analizowana}}, jest przydzielana wartość {{Code|true}}, mówiąca, czy rozważana książka jest bieżąca.
==== Informacje o analizowanym artykule ====
Jest tworzona zmienna pusta: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, jeśli nie istnieje, i jej podtablica ma być też pusta o kluczu: {{Code|tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tabela_listy_danych_analizy_ksiazki2}}, jeśli nie istnieje.
Dalej są generowane podzmienne z: {{Code|tabela_listy_danych_analizy_ksiazki2}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki2}}, dotyczących poszczególnych obiektów obsługiwanych przez '''{{ld|StronicowyParser|Stronicowy Parser}}''', a elementy wewnętrz jej:
* Dla każdych z nich w śródku są zmienne: {{Code|CzyLink}} {{Patrz|CzyLink}}, i {{Code|CzyNum}} {{Patrz|CzyNum}}, mówiące, z jakiem typem obiektu mamy do czynienia, za pomocą wartości logicznych, tzn. kolejno, czy to są obiekty, do których istnieje link (z początkiem '''Link''', a nie '''Pobierz'''), i czy on jest numerowany przez to oprogramowanie.
==== Strona zbiorcza ====
Dla stron zbiorczych liczymy zawartość strony zbiorczej {{Code|strona_zbiorcza}} {{Patrz|strona_zbiorcza}}, jeżeli owo w ogóle taka jest, czyli za pomocą funkcji: {{LinkŚródtytuł|StronaZbiorcza|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, bez parametrów, którego wnętrze jedynie się uruchamia, gdy strona jest korzystana, tzn. gdy zmienna: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} przyjmuje wartość prawdziwą.
==== Pełna nazwa książki ====
Liczymy pełną nazwę książki danego artykułu przy zmiennej: {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}}, z parametrów: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, {{Code|nazwa_przestrzeni_ksiazki}} {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, oraz dla nazwy artykułu, którym jest ciąg znakowy pusty, wtedy to charakteryzuje stronę główną podręcznika, której pełna nazwa strony jest jednocześnie szukaną pełną nazwą książki.
==== Liczenie rozwiniętej zakodowanej zawartości danego artykułu ====
Gdy to nie jest strona '''spis''', czyli ten artykuł nie jest spisem, tzn. tam się nie mieści żaden spis, to liczymy tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} i {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}:
* Przy pomocy rekurencyjnej funkcji liczenia zakodowanej strony, czyli z: {{Code|{{sr|#p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony|p=StronicowyParser/Tekst}}}}.
* Przeciwnie liczmy te wartości ze zmiennych z końcówką: {{Code|_ref}} {{LinkPatrz|_ref|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
; Działania w przypadku braku treści strony{{dk}}
* Gdy artykuł nie jest korzystany, tzn. według: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}:
** Jeśli strona nie ma zawartości, to funkcja zakańcza się z błędem {{Code|0}}, co jest powiadomieniem, że strona jest niekorzystana, i ona nie ma zawartości.
* Przeciwnie, dla strony niemającej zawartości, tzn. gdy {{Code|strona_zbiorcza}} {{LinkPatrz|strona_zbiorcza}}, przyjmuje wartość prawdziwą, wtedy jest liczona zmienna: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, z kluczem {{Code|CzyStronaSubst}}, której jest przydzielana wartość {{Code|tak}}, tzn. czy to jest strona zbiorcza.
** Wtedy funkcja zwraca wartość {{Code|nil}}, co informuje, że strona jest korzystana, i nie ma jej treści.
==== Przypadek innej strony aktualnej niż bieżącej ====
Dla strony korzystanej według zmiennej: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i dla tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, o kluczu {{Code|inna_strona_aktualna_niz_biezaca}} {{Patrz|inna_strona_aktualna_niz_biezaca}}:
* Gdy mamy inną stronę aktualną niż bieżącą, tzn. dla stron zbiorczych, i stron wyświetlanych na innej stronie niż normalnie.
** Dla tej strony są liczone, dla tablicy podanej, zmienne o kluczach: {{Code|strona_ze_szablonem_strona_start}} {{LinkPatrz|strona_ze_szablonem_strona_start|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, {{Code|formatowanie}} {{LinkPatrz|formatowanie|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}} i {{Code|analiza_spis_tresci_korzystane}} {{LinkPatrz|analiza_spis_tresci_korzystane|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, dla stron ze szablonem stronicowym: {{s|StronaStart}} lub jego kolegów, z wbudowanym spisem lub ustawianym, wtedy w zależności od ustawianych parametrów są ustawiane te parametry.
; Szablony spisów{{dk}}
* Jednym ze spisów może być użyty szablon: {{s|Spis treści}} (skrót: {{s|TOCright}}) - dla wersji rozwiniętej, {{s|Spis treści zwinięty}} - zwiniętej, i inne szablony, też spisowe: {{s|TOCRamka}} i {{s|TOC limit}}, także: {{s|TOC}} i {{s|TOCRamka}}.
==== Iterowanie po stronie z {{lk|szablony stronicowe|szablonami stronicowymi}} ====
Iterujemy po całem tekście: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, według funkcji: {{LinkŚródtytuł|IterowaniePoElementachTekstu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, którego pierwszym parametrem jest ten zakodowany tekst, według bazy kodów: {{Code|{{m|Szablonowe}}}}.
==== Wystawienie do struktury tablic z danymi informacji o artykule ====
Tworzymy zmienną: {{Code|tablica_danych_nazwy_artykulu}} {{Patrz|tablica_danych_nazwy_artykulu}}, ze zmiennej: {{Code|tablica_ksiazki}} {{LinkPatrz|tablica_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, z kluczem: {{Code|lista_podstron_woluminu}} {{LinkPatrz|lista_podstron_woluminu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, i dalszym kluczem: {{Code|nazwa_artykulu}} {{LinkPatrz|nazwa_artykulu|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, i powinniliśmy otrzymać tablicę, lub piszemy tablicę pustą.
Dla zmiennej: {{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}} - tablica informacji o artykule, tworzymy podtablicę o kluczu: {{Code|uchwyty_i_numeracje}} {{Patrz|uchwyty_i_numeracje}}, z większej tabeli: {{Code|tabela_listy_danych_analizy_ksiazki2}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki2}}, zdefiniowaną w głównej tablicy artykułu: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}} - tablica zmiennych artykułu.
==== Kod wikidanych rozważanego artykułu ====
Dla zmiennej: {{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}}, liczymy jej wartość o kluczu {{Code|link_wikidane}} {{Patrz|link_wikidane}}, którą jest tablica z kodem, jako jedyny numerowany parametr generowany funkcją: {{Code|{{sr|#p.KodyKlasStronyNaDanejWiki|p=Wiki}}}}, którą jest kod strony linku inteligentnego przyporządkowanej takiej nazwie strony.
==== Nazwa bazowa strony ====
Gdy dana strona jest korzystana, tzn.: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przyjmuje wartość prawdziwą, wtedy możemy policzyć element tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, o kluczu: {{Code|nazwa_bazowa_strony}} {{Patrz|nazwa_bazowa_strony}}, któremu przydzielamy policzoną nazwę ze zmiennej: {{Code|nazwa_modulu}} {{LinkPatrz|nazwa_modulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, wykorzystując do tego funkcję: {{Code|{{sr|#p["PEŁNABAZOWANAZWASTRONY"]|p=Nazwy/Tom II}}}}.
==== Skrót do: '''pozawoluminowych stron''' lub '''niekorzystanych woluminów''', utworzone w celu łatwiejszego odwołania się do innych stron, czy artykułów książek ====
* Zmienna: {{Code|prefiks_numeru_woluminowego_strony}} {{Patrz|prefiks_numeru_woluminowego_strony}}, to jest zmienna skrótów, policzona dla niebieżącej strony dla: '''pozawoluminowych stron''' {{LinkPatrz|pozawoluminowych stron}}, lub '''niekorzystanych woluminów''' {{LinkPatrz|niekorzystanych woluminów}}.
Gdy artykuł jest niekorzystany, tzn. zmienna: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przybiera wartość fałszywą, wtedy dla:
; Gdy nie stworzono jeszcze prefiksu w zmiennej{{dk}} {{nobold|{{Code|prefiks_numeru_woluminowego_strony}} {{LinkPatrz|prefiks_numeru_woluminowego_strony}}}}, która jest kluczem dla tabeli{{dk}} {{nobold|{{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}}}}{{dk}}
Ale przedtem, gdy: {{Code|pozawoluminowe_strony}} {{LinkPatrz|pozawoluminowe_strony}}, jest niepoliczone, dla tej pierwszej pozycji listy, a dla drugiej już nie.
* '''pozawoluminowych stron''' {{Patrz|pozawoluminowych stron}} (innej strony niż bieżąca - dla przestrzeni nieksiążkowych), określonych przez zmienną: {{Code|pozawoluminowe_strony}} {{Patrz|pozawoluminowe_strony}} - która wcześniej była policzona, z bazowej nazwy strony według: {{Code|nazwa_bazowa_strony}} {{LinkPatrz|nazwa_bazowa_strony}}, i zmiennej: {{Code|nazwa_modulu}} {{LinkPatrz|nazwa_modulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, wykorzystując do tego funkcję: {{Code|{{sr|#p["SkrótDoNumeruOdnośnika"]|p=StronicowyParser/Pomocne}}}}, liczymy pewien skrót, który umieszczamy w:
** zmiennej: {{Code|prefiks_numeru_woluminowego_strony}} {{LinkPatrz|prefiks_numeru_woluminowego_strony}}, przydzielając mu wartość w postaci tablicy:
<syntaxhighlight lang="lua">
tablica_danych_nazwy_artykulu.prefiks_numeru_woluminowego_strony={zrostek,pozawoluminowe_strony,czy_artykul_korzystany,};
</syntaxhighlight>
* '''niekorzystanych woluminów''' {{Patrz|niekorzystanych woluminów}} (innej książki - woluminu, niż bieżąca - dla przestrzeni książkowych), określonych przez zaprzeczenie zmiennej: {{Code|korzystany_wolumin}} {{Patrz|korzystany_wolumin}} - która wcześniej była policzona, wtedy z nazwy: {{Code|nazwa_ksiazki}} {{LinkPatrz|nazwa_ksiazki|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, liczymy, korzystając z funkcji: {{Code|{{sr|#p["SkrótDoNumeruOdnośnikaDołączonejKsiążki"]|p=StronicowyParser/Pomocne}}}}, pewien skrót, którego wsadzamy do:
** zmiennej: {{Code|prefiks_numeru_woluminowego_strony}} {{LinkPatrz|prefiks_numeru_woluminowego_strony}}, przydzielając mu wartość w postaci tablicy:
<syntaxhighlight lang="lua">
tablica_danych_nazwy_artykulu.prefiks_numeru_woluminowego_strony={zrostek,not korzystany_wolumin,czy_artykul_korzystany,};
</syntaxhighlight>
==== Rozważania nad adresem artykułu bieżącego, czy nie ====
Gdy strona jest równa bieżącej według zmiennej: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wtedy wartość zmiennej: {{Code|strona}} {{LinkPatrz|strona|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, jest o wartości pustej, przeciwnie przyjmuje wartość: {{Code|nazwa_modulu}} {{LinkPatrz|nazwa_modulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
==== Szablony tekstu ====
Dla artykułu korzystanego, według: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, uruchamiamy dwie tutaj funkcje, tzn.:
* Pierwsza: {{Code|{{sr|#p.UstawPobierzKorzystanie|p=StronicowyParser/SzablonyTekstu}}}}, aktualizująca zmienne, nie informacje, zbierania artykułów w zmiennej: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
* Druga: {{Code|{{sr|#p.AktualizowanieSzablonowychTekstowychKompletowaniaInformacjiTekstu|p=StronicowyParser/SzablonyTekstu}}}}, aktualizujące tablice zbierania danych informacji o stronie dotyczące szablonów tekstu: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}, nie w zmiennej: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, tylko w: {{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}}, a także modyfikujące tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, w której zbieramy wiadomości o stronie.
==== Zbieranie informacji o nagłówkach dodatnich o zaznaczonych do takiej analizy ====
* Dla zmiennej dla strony korzystanej według: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, która w tym przypadku przyjmuje wartość prawdziwą, gdy chcemy liczyć jej spis, to musi być ustawiona zmienna z: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu: {{Code|analiza_spis_tresci_korzystane}} {{LinkPatrz|analiza_spis_tresci_korzystane|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, przyjmującej ten parametr wartość prawdziwą.
* A dla niekorzystanej dla klucza z: {{Code|analiza_spis_tresci_doloczone}} {{LinkPatrz|analiza_spis_tresci_doloczone|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, wtedy przygotuwujemy tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, do dalszej analizy, funkcją: {{Code|{{sr|#p.KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania|p=Szablonowe}}}}, by potem stworzyć tablicę spisu {{Code|toc}} {{Patrz|toc}}, zwracaną przez naszą opisywaną funkcję, i inne parametry ze strony, przy pomocy funkcji: {{Code|{{sr|#p.SpisRzeczyWedlePodanegoTekstu|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
===== Ustawianie wygenerowanego spisu treści analizowanego artykułu =====
Zmienna tablicowa: {{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}}, a w niej podtablica o kluczu: {{Code|TOC}} {{Patrz|TOC}}, jest określana wartością tablicy: {{Code|toc}} {{LinkPatrz|toc}}, która została wygenerowana z funkcji generującą spis danego rozważanego artykułu.
==== Sprawdzanie spisu rozważanego artykułu ====
Funkcja przy pomocy parametrów liczy, czy podana strona jest stroną zbiorczą, według funkcji: {{LinkŚródtytuł|StronaSubstFunkcja|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, uruchamiana z pewnymi parametrami.
==== Niedokończone zbierania elementów spisowych o danej stronie niekorzystanej, gdy wcześniej było to niemożliwe ====
Zmienna: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, powinna przyjmować wartość fałszywą, przy innej wartości nie wchodzimy w ten krok instrukcji warunkowej.
* A funkcja: {{Code|SpisToc}} {{Patrz|SpisToc}}, powinna zwwrócić zawsze funkcję, którą nazwiemy: {{Code|czy_spis_function}} {{Patrz|czy_spis_function}}, to jej wywołanie raz jest prawdziwe, raz nilowe. Prawdziwe, gdy w tym wywołaniu funkcji głównej dla danego niekorzystanego artykułu udało się zebrać spis, a jeśli nie, to jej wynik jest fałszywy.
* Wtedy przy fałszywości tego wyniku ustawiane jest w tablicy o kluczu: {{Code|TOCSPIS_FUNCTION}} {{LinkPatrz|TOCSPIS_FUNCTION|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, dla: {{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}}, jej wartość, która jest równa: {{Code|czy_spis_function}} {{LinkPatrz|czy_spis_function}}.
** {{Code|czy_spis_function}} {{LinkPatrz|czy_spis_function}} - to jest funkcja, która jest zwrócona przez inną o nazwie: {{Code|SpisToc}} {{LinkPatrz|SpisToc}}.
==== Zbieranie danych w bieżącym artykule dotyczących nazwy przestrzeni nazw, nazw przestrzeni książki, nazwy książki i nazwy artykułu ====
Dla strony korzystanej: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, wtedy ta zmienna przyjmuje wartość {{Code|true}}, dla tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, wtedy jej podzmienne o kluczach:
* {{Code|link_wikidane}} {{LinkPatrz|link_wikidane}}, jaka jest tablica z kodem linku inteligentnego dla bieżacej strony jako pierwszy element,
* {{Code|tablica_aktualnego_artykulu}} {{Patrz|tablica_aktualnego_artykulu}}, którą jest tablica dla aktualnego artykułu,
* {{Code|tablica_aktualnej_przestrzeni_nazw}} {{Patrz|tablica_aktualnej_przestrzeni_nazw}}, którą jest tablica dla aktualnej przestrzeni nazw,
* {{Code|tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki}} {{Patrz|tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki}}, którą jest tablica dla aktualnej przestrzeni nazw,
* {{Code|tablica_aktualnej_ksiazki}} {{Patrz|tablica_aktualnej_ksiazki}}, którą jest tablica dla aktualnej książki.
Te tablice, jako dalsze podtablice, dokowane są w głównej tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, o kluczu: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
* One zbierają informacje o książkach (artykułach) w zależności od kluczy, jakie one przyjmują nazwy.
==== Dane zebrane o szablonach tekstu - zbieranie informacji ====
Dla artykułów niekorzystanych, czyli wtedy wartość: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, przyjmuje wartość fałszywą, wtedy zmienną:
* {{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}}, tworzymy w niej podtablicę o kluczu: {{Code|dane_zebrane_ze_stron}} {{LinkPatrz|dane_zebrane_ze_stron|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, wtedy dajemy jej wartość: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}.
* Dalej dla tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}, tworzona jest podtablica pusta, jeśli nie istnieje, o kluczu: {{Code|dane_zebrane_ze_stron_lista}} {{Patrz|dane_zebrane_ze_stron_lista}}, która zbiera wszystkie elementy z analizowanych artykułów, tzn.:
** {{Code|tablica_danych_nazwy_artykulu}} {{LinkPatrz|tablica_danych_nazwy_artykulu}} - dane dotyczace danego artykułu.
Te stworzone tutaj zmienne kasujemy dla: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}, prawdziwego.
* Też dodatkowo usuwamy zmienną: {{Code|tablica_szablonu_tekstu_linkowe_korzystane}} {{Patrz|tablica_szablonu_tekstu_linkowe_korzystane}}, w tablicy: {{Code|tablica_zmiennych}} {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}}. Te usuwania dokonujemy przy pomocy wartości {{Code|nil}}, która ma takie właściwości.
* Też kasujemy w tej zmiennej podtablicę: {{Code|TOCSPIS_FUNCTION}} {{LinkPatrz|TOCSPIS_FUNCTION|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}}.
==== Zwracane wartości i ich opis ====
Ostatecznie funkcja zwraca po przeanalizowaniu wszystkiego, po zakończeniu zbierania wszystkich danych o danej stronie, według:
<syntaxhighlight lang="lua">
return self.tabela_listy_danych_analizy_ksiazki,tablica_zmiennych,true;
</syntaxhighlight>
Parametry zwracane:
{{OpisParametrów
| 1 = {{Code|self.tabela_listy_danych_analizy_ksiazki}} | _1 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/ZbieranieDanychStron/Moduł główny/Część I}},
| 2 = {{Code|tablica_zmiennych}} | _2 = Jak w: {{LinkPatrz|tablica_zmiennych|StronicowyParser/ZbieranieDanychStron/Potrzebne/Tom I}},
| 3 = {{Code|true}} | _3 = Wartość zwracana, gdy strona jest analizowana i przeanalizowana pierwszy raz.
}}
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
nmwg7ucrbglzba1efjt4tjth0j530ov
Szablon:OpisParametrów
10
64146
558142
557701
2026-10-01T07:44:49Z
Persino
2851
558142
wikitext
text/x-wiki
<includeonly><templatestyles src="Szablon:OpisParametrów/styles.css" />
{| class="wikitable OpisParametrów {{{klasa|}}}" {{#if:{{{styl|}}}|style="{{{styl|}}}"}}<!--
|+
<div class="OpisParametrów-tytuł">Parametry szablonu lub ramki, bądź funkcji bibliotecznej.</div>-->
|-
!{{!}} Lp.
! {{#if:{{{klasa parametru|}}}|class="{{{klasa parametru}}}"}} {{#if:{{{styl parametru|}}}|style="{{{styl parametru}}}"}} {{!}} Parametr
! {{#if:{{{klasa opisu|}}}|class="{{{klasa opisu}}}"}} {{#if:{{{styl opisu|}}}|style="{{{styl opisu}}}"}} {{!}} Opis
{{#invoke:Ramka|Powtarzaj|nie rozwiń=|
{{!}}- <!--
-->{{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->class{{=}}"OpisParametrów-{{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{!}}nagłówek{{!}}komórka{{))}} {{(((}}klasa wiersza{{((}}_{{))}}{{!}}{{)))}}"{{!}}<!--
-->{{((}}#if:{{(((}}klasa wiersza{{((}}_{{))}}{{!}}{{)))}}{{!}}class{{=}}"{{(((}}klasa wiersza{{((}}_{{))}}{{)))}}"{{))}}<!--
-->{{))}} <!--
-->{{((}}#if:{{(((}}styl wiersza{{((}}_{{))}}{{!}}{{)))}}{{!}}style{{=}}"{{(((}}styl wiersza{{((}}_{{))}}{{)))}}"{{))}}
{{!}}{{!}} <div>{{((}}_{{))}}</div>
{{((}}#if:{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}{{((}}!{{))}}{{!}}!{{))}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}colspan{{=}}"2"{{))}} <!--
--> {{((}}#if:{{(((}}styl parametru{{((}}_{{))}}{{!}}{{)))}}{{!}}style{{=}}"{{(((}}styl parametru{{((}}_{{))}}{{)))}}"{{))}} <!--
--> {{((}}#if:{{(((}}klasa parametru{{((}}_{{))}}{{!}}{{)))}}{{!}}class{{=}}"{{(((}}klasa parametru{{((}}_{{))}}{{)))}}"{{))}} <!--
-->{{!}}<div>
{{(((}}{{((}}_{{))}}{{)))}}</div>
{{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}{{!}}<!--
-->{{((}}!{{))}} <!--
--> {{((}}#if:{{(((}}styl wartości{{((}}_{{))}}{{!}}{{)))}}{{!}}style{{=}}"{{(((}}styl wartości{{((}}_{{))}}{{)))}}"{{))}} <!--
--> {{((}}#if:{{(((}}klasa wartości{{((}}_{{))}}{{!}}{{)))}}{{!}}class{{=}}"{{(((}}klasa wartości{{((}}_{{))}}{{)))}}"{{))}} <!--
--> {{((}}!{{))}} <div>
{{(((}}_{{((}}_{{))}}{{)))}}</div><!--
-->{{))}}<!--
-->}}
|}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Ramka|Rozwiń|{{((}}#invoke:Sprawdź{{!}}Parametry{{!}}{{=}}problemy-w-szablonie-%s {{((}}(({{))}}Kategoria{{((}}!{{))}}Szablon %s do sprawdzenia{{((}})){{))}}{{!}}klasa{{=}}{{!}}styl{{=}}{{!}}klasa parametru{{=}}{{!}}styl parametru{{=}}{{!}}klasa opisu{{=}}{{!}}styl opisu{{=}}{{#invoke:Ramka|Powtarzaj|po kolei=tak|nie rozwiń=tak|{{!}}{{((}}_{{))}}{{=}}txt!{{!}}styl parametru{{((}}_{{))}}{{=}}{{!}}klasa parametru{{((}}_{{))}}{{=}}{{!}}styl wartości{{((}}_{{))}}{{=}}{{!}}klasa wartości{{((}}_{{))}}{{=}}{{!}}styl wiersza{{((}}_{{))}}{{=}}{{!}}klasa wiersza{{((}}_{{))}}{{=}}{{!}}nagłówek{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};komórka{{((}}_{{))}}{{!}}komórka{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};nagłówek{{((}}_{{))}}{{!}}_{{((}}_{{))}}{{=}}txt?!;nagłówek{{((}}_{{))}};komórka{{((}}_{{))}}}}{{))}}
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
79qgcjgtnfout0vbee88ngqwyk8kbhy
Szablon:PrzypisStrona
10
64317
558116
556548
2026-09-30T17:01:21Z
Persino
2851
558116
wikitext
text/x-wiki
<includeonly><!--
-->{{#invoke:Ramka|Szablon<!--
-->| Nazwa = Cytuj
| Funkcja = custom2
| url = {{{adres}}}/{{{1|{{{podstrona}}}}}}
| tytuł = {{{2|{{{nazwa}}}}}}
| praca = {{lz
| s = {{Jeśli niepuste|{{{serwis|}}}|{{Dopasuj|ciąg={{{adres}}}|wzór=^(%a+:%/%/[^%/]+)}}}}
| n = {{Dopasuj|ciąg={{Jeśli niepuste|{{{serwis|}}}|{{{adres}}}}}|wzór=^%a+:%/%/([^%/]+)}}
}}
| data = {{#if:{{{data|}}}|{{Czas|Y-m-j|{{{data}}}}}}}
| data dostępu = {{Czas|j.m.Y|{{{data dostępu|}}}}}
| zmienna sprawdzania parametrów = adres=uri!;;adres=uri!;;1=txt!;podstrona;;podstrona=txt!;1;;2=txt!;nazwa;;nazwa=txt!;2;;serwis=uri;;tryb=txt
| bez argumentów szablonu=url;tytuł;praca;Funkcja
| zmienna z parametrami rodzica=tak
| zmienna z argumentami ramki=
}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
o2bgut9ngkyzmagh3ern1xkwhzsylmu
558119
558116
2026-09-30T17:13:34Z
Persino
2851
558119
wikitext
text/x-wiki
<includeonly><!--
-->{{#invoke:Ramka|Szablon<!--
-->| Nazwa = Cytuj
| Funkcja = custom2
| url = {{{adres}}}/{{{1|{{{podstrona}}}}}}
| tytuł = {{{2|{{{nazwa}}}}}}
| praca = {{lz
| s = {{Jeśli niepuste|{{{serwis|}}}|{{Dopasuj|ciąg={{{adres}}}|wzór=^(%a+:%/%/[^%/]+)}}}}
| n = {{Dopasuj|ciąg={{Jeśli niepuste|{{{serwis|}}}|{{{adres}}}}}|wzór=^%a+:%/%/([^%/]+)}}
}}
| data = {{#if:{{{data|}}}|{{Czas|Y-m-j|{{{data}}}}}}}
| data dostępu = {{Czas|j.m.Y|{{{data dostępu|}}}}}
| zmienna sprawdzania parametrów = adres=uri!;;adres=uri!;;1=txt!;podstrona;;podstrona=txt!;1;;2=txt!;nazwa;;nazwa=txt!;2;;serwis=uri;;tryb=txt
| bez argumentów szablonu = url;tytuł;praca;Funkcja
| zmienna z parametrami rodzica = tak
| zmienna z argumentami ramki =
}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
in7j1b357j42i39tf8imbs9ut6oyf8l
Moduł:StronicowyParser/ZbieranieDanychStron/Potrzebne
828
64332
558155
557803
2026-10-01T08:45:30Z
Persino
2851
558155
Scribunto
text/plain
local p={};
function p.UstawUchwytyWeTablicyBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod)
if(lista_dwuelementowa)then
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then
tabela_elementow_strony_kodow[nazwa_obiektu]={};
tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(not uchwyty_bez_numeracji)then
tab_obiekt.uchwyty_bez_numeracji={};
uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
end;
uchwyty_bez_numeracji[kod]=lista_dwuelementowa;
end;
end;
function p.WydobywanieUchwytuZeTablicyBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod)
local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu];
if(not tab_obiekt)then return nil;end;
local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji;
if(uchwyty_bez_numeracji)then
return uchwyty_bez_numeracji[kod];
end;
end;
function p.RozpatrywanieElementuUchwytuNumeracji(self,uchwyt_obiektu,tab_numer,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu;
local html_modul=require("Module:Html");
uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true);
if(uchwyt_obiektu~="")then
KtorySzablonMaZwracacKategorie(uchwyt_obiektu);
local lista_dwuelementowa={};
lista_dwuelementowa[1]=uchwyt_obiektu;
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_obiektu=true;
end;
if(tab_numer)then
tab_numer[nazwa_obiektu]=tab_numer[nazwa_obiektu]+1;
local numer=tab_numer[nazwa_obiektu];
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],numer,lista_dwuelementowa);
else
table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa);
end;
return lista_dwuelementowa;
end;
end;
function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,tab_numer,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie)
local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji];
if(uchwyt_obiektu)then
local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,uchwyt_obiektu,tab_numer,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie);
return lista_dwuelementowa;
end;
end;
function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then
if(nazwa_artykulu=="")then return;end;
local czy_element_wystepuje_w_tablicy=false;
local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron;
if(tablica_przestrzeni_wszystkiego)then
local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni];
if(tabela_przestrzeni_ksiazek)then
local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki]
if(tabela_ksiazek)then
local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki];
if(tab_ksiazki)then
if(tab_ksiazki.spis)then
--czy_lista_niepusta=true;
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
for _,tab_value in ipairs(tab_ksiazki.spis)do
if(tab_value[2])then
for _,artykul_w_bazie_element in ipairs(tab_value[2])do
local artykul_w_bazie=artykul_w_bazie_element[1];
local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie);
artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie;
local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie);
if(artykul_bez_naglowka_w_bazie==nazwa_artykulu)then
czy_element_wystepuje_w_tablicy=true;
break;
end;
end;
end;
if(czy_element_wystepuje_w_tablicy)then break;end;
end;
end;
end;
end;
end;
end;
if(not czy_element_wystepuje_w_tablicy)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki)
or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
end;
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron");
end;
end;
end;
end;
end;
function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu)
local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil;
local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil;
local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1);
end;
end;
if(czy_artykul_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2);
end;
end;
if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3);
end;
end;
end;
function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,bezuchwytowe)
local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2];
local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3];
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
local html_modul=require("Module:Html");
if(nazwa_artykulu)then
nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true);
local techniczne_modul=require("Module:Techniczne");
nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",};
end;
local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni;
if(pelna_nazwa_ksiazki)then
pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true);
local techniczne_modul=require("Module:Techniczne");
pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_modulu_aktualna_czy_biezaca,};
----
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw);
nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)));
--pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
end;
return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
end;
function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst,tab_nazwy)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
if(not czy_inna_wartosc_tekst)then
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true);
else
nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=tab_nazwy[1],tab_nazwy[2],tab_nazwy[3],tab_nazwy[4];
end;
--local ksiazkowe_modul=require("Module:Książkowe");
--pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"]();
--nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"]();
if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then
local tabela_nazw={};
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw);
local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw);
local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false);
end;
end;
function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie)
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end;
local parametry_modul=require("Module:Parametry");
if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end;
local szablonowe_modul=require("Module:Szablonowe");
if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu()))
)then return;end;
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local html_modul=require("Module:Html");
if(nazwa_jednostki)then
nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true);
end;
local tabela_nazw_art={};
local nazwa_jednostki=(nazwa_jednostki
and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1")
or nil
) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art);
if(nazwa_przestrzeni)then
nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true);
end;
local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art);
local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki;
local techniczne_modul=require("Module:Techniczne");
strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,};
--strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona);
local tabela_nazw={};
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw);
local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw);
local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)));
local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw);
if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end;
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron");
local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej);
end;
function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
local nazwy_modul=require("Module:Nazwy");
local czy_inna_wartosc_tekst=true;
if((nazwa_artykulu)and(nazwa_ksiazki))then
--local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nil,czy_inna_wartosc_tekst,{nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,});
elseif((nazwa_artykulu)and(not nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or ""));
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nil,czy_inna_wartosc_tekst,{nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,});
elseif((not nazwa_artykulu)and(nazwa_ksiazki))then
local ksiazkowe_modul=require("Module:Książkowe");
local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"");
local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"]();
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"]();
----
tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni;
tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki;
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nil,czy_inna_wartosc_tekst,{nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,});
else
p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nil,czy_inna_wartosc_tekst,{nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,});
end;
end;
function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA_SPRAWDZANIE)
local pudelko_modul=require("Module:Pudełko");
if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni=="")))
and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki=="")))
and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki)))
and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu=="")))
)then
if(__FUNKCJA_SPRAWDZANIE)then
__FUNKCJA_SPRAWDZANIE(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)
and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron");
end;
else
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron");
end;
end;
end;
end;
function p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu];
local parametry_modul=require("Module:Parametry");
if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then
local parametry_modul=require("Module:Parametry");
local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
tablica_zmiennych.sprawdzenie_dokonane_linku=true;
end;
table.insert(linkobiekttab,uchwyt_obiektu);
if(czy_pobierz)then
if(not tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane)then
tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane={};
end;
table.insert(tablica_zmiennych.tablica_szablonu_tekstu_linkowe_korzystane,{{nazwa_obiektu,uchwyt_obiektu,},{obiekt,kod,},});
end;
end;
function p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych, nazwa_obiektu, nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz)
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function()
local parametry_modul=require("Module:Parametry");
if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then
local tablica_zmiennych2={};
tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2={}
local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron")
local tabela_listy_danych_analizy_ksiazki0,tablica_zmiennych2,czy_inna=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych2);
if(tabela_listy_danych_analizy_ksiazki0)then
if((not czy_inna)or(not tablica_zmiennych2))then return;end;
local stronicowyparser_szablony_tekstu_modul=require("Module:StronicowyParser/SzablonyTekstu");
local JuzPoliczone=function()
if(czy_pobierz)then
stronicowyparser_szablony_tekstu_modul.UstawianiePobierz(tablica_zmiennych,tablica_zmiennych2,obiekt,kod,nazwa_obiektu,uchwyt_obiektu,false);
end;
if(not tablica_zmiennych2.dane_juz_policzone)then tablica_zmiennych2.dane_juz_policzone={};end;
local tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
if(not tab_nazwa_obiektu)then
tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu]={};
tab_nazwa_obiektu=tablica_zmiennych2.dane_juz_policzone[nazwa_obiektu];
end;
local tab_uchwyt=tab_nazwa_obiektu[uchwyt_obiektu];
if(tab_uchwyt)then
return true;
end;
tab_nazwa_obiektu[uchwyt_obiektu]=true;
return false;
end;
if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then
local czy_policzone=JuzPoliczone();
if(czy_policzone)then
return;
end;
else
JuzPoliczone();
end;
stronicowyparser_szablony_tekstu_modul.DodawanieDoBazySzablonuTekstuStronyKorzystanejElementyInnejStrony(tablica_zmiennych,tablica_zmiennych2);
p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu);
local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych2.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu];
local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink;
local ile_razy=0;
if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then
for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do
if(parametry_obiektu[1]==uchwyt_obiektu)then
ile_razy=ile_razy+1;
if(ile_razy>1)then break;end;
end;
end;
end
if(ile_razy~=1)then
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu);
end;
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
end;
else
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera");
end;
end;
else
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
end;
end);
end;
function p.GeneralneLinkowanie(self,obiekt,kod,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie,czy_pobierz)
local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1];
local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
----
local parametry_modul=require("Module:Parametry");
if(parametry_modul.CzyTak(uchwyt_obiektu))then
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu;
local html_modul=require("Module:Html");
uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true);
end;
----
local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy");
----
local UstalanieNazwStronyArtykularnegoWoluminu=function(czy_tak)
nazwa_przestrzeni=(czy_tak and nazwa_przestrzeni or nil) or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=(czy_tak and nazwa_przestrzeni_ksiazki or nil) or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=(czy_tak and nazwa_ksiazki or nil) or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
nazwa_artykulu=nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
end;
local nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu;
local function ZbieranieDanychPrzezGeneralneLinkowanie()
if(parametry_modul.CzyTak(uchwyt_obiektu))then
nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil));
if(nazwa_artykulu)then
if(nazwa_artykulu~="")then
if(not nazwa_ksiazki)then
UstalanieNazwStronyArtykularnegoWoluminu(false);
elseif(nazwa_ksiazki=="")then
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
return;
end;
elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then
nazwa_artykulu="";
elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
return;
else
UstalanieNazwStronyArtykularnegoWoluminu(false);
end;
if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)
or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)
or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then
p.LinkowanieInnychStron(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,czy_pobierz);
else
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz);
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
end;
else
UstalanieNazwStronyArtykularnegoWoluminu(true);
p.LinkowanieFinalizowaniePrac(self,obiekt,kod,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul,czy_pobierz)
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
end;
else
UstalanieNazwStronyArtykularnegoWoluminu(true);
if((uchwyt_obiektu)and(uchwyt_obiektu==""))then
p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil);
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then
p.PusteParametryReferencji(self,nazwa_przestrzeni_stare,nazwa_przestrzeni_ksiazki_stare,nazwa_ksiazki_stare,nazwa_artykulu_stare, uchwyt_obiektu, nazwa_obiektu);
stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu);
end;
end;
end;
ZbieranieDanychPrzezGeneralneLinkowanie();
KtorySzablonMaZwracacKategorie(uchwyt_obiektu);
end;
return p;
24vow6f9qb8vsw4xpwf8a6xl5k20b5c
Kategoria:Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji bibliotecznych
14
64397
558085
558079
2026-09-30T12:12:51Z
Persino
2851
558085
wikitext
text/x-wiki
{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji Wikibooks}}
fjldwa0cw2tf2p4maca43f8rs17atyy
Kategoria:Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji ramek
14
64399
558083
2026-09-30T12:10:08Z
Persino
2851
Utworzono nową stronę „{{Kategoria|Szablony wykorzystujące moduły Lua}}”
558083
wikitext
text/x-wiki
{{Kategoria|Szablony wykorzystujące moduły Lua}}
5e53iqedpjvmozy3qdb8mna52k01sm8
558086
558083
2026-09-30T12:13:16Z
Persino
2851
558086
wikitext
text/x-wiki
{{Kategoria|Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji Wikibooks}}
fjldwa0cw2tf2p4maca43f8rs17atyy
Kategoria:Szablony wykorzystujące moduły Lua/Przykłady, w modułach Lua w Scribunto, przygotowane specjalnie dla dokumentacji funkcji Wikibooks
14
64400
558084
2026-09-30T12:11:54Z
Persino
2851
Utworzono nową stronę „{{Kategoria|Szablony wykorzystujące moduły Lua}}”
558084
wikitext
text/x-wiki
{{Kategoria|Szablony wykorzystujące moduły Lua}}
5e53iqedpjvmozy3qdb8mna52k01sm8
Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1
828
64401
558166
2026-10-01T09:55:31Z
Persino
2851
Utworzono nową stronę „require("strict"); local p={}; p["Przykład"]=function(frame) local szeregi_modul=require("Module:Szeregi"); local tekst="Oto jest tekst wywołania: \"#\""; -- Elementem omijanym jest "#"; local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst) return mw.uri.encode(tekst); end, function(kod) -- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego; return "&"..ko…”
558166
Scribunto
text/plain
require("strict");
local p={};
p["Przykład"]=function(frame)
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
local zrodlolua_modul=require("Module:ŹródłoLua");
local wikikod=zrodlolua_modul["ŹródłoLua"](frame,{
{"tekst",tekst,},
{"tekst2",tekst2,},
});
return wikikod;
end;
return p;
2j8o8b27sgfd46tbz0cw2fz75gc0rxz
558168
558166
2026-10-01T09:58:02Z
Persino
2851
Persino przeniósł(-osła) stronę [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjneSzeregiOmijanieFunkcyjne/Kod 1]] do [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1]], bez pozostawienia przekierowania pod starym tytułem
558166
Scribunto
text/plain
require("strict");
local p={};
p["Przykład"]=function(frame)
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
local zrodlolua_modul=require("Module:ŹródłoLua");
local wikikod=zrodlolua_modul["ŹródłoLua"](frame,{
{"tekst",tekst,},
{"tekst2",tekst2,},
});
return wikikod;
end;
return p;
2j8o8b27sgfd46tbz0cw2fz75gc0rxz
558170
558168
2026-10-01T09:58:04Z
Persino
2851
Persino przeniósł(-osła) stronę [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjneSzeregiOmijanieFunkcyjne/Kod 1]] do [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1]], bez pozostawienia przekierowania pod starym tytułem
558166
Scribunto
text/plain
require("strict");
local p={};
p["Przykład"]=function(frame)
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
local zrodlolua_modul=require("Module:ŹródłoLua");
local wikikod=zrodlolua_modul["ŹródłoLua"](frame,{
{"tekst",tekst,},
{"tekst2",tekst2,},
});
return wikikod;
end;
return p;
2j8o8b27sgfd46tbz0cw2fz75gc0rxz
558172
558170
2026-10-01T09:58:06Z
Persino
2851
Persino przeniósł(-osła) stronę [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjneSzeregiOmijanieFunkcyjne/Kod 1]] do [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1]], bez pozostawienia przekierowania pod starym tytułem
558166
Scribunto
text/plain
require("strict");
local p={};
p["Przykład"]=function(frame)
local szeregi_modul=require("Module:Szeregi");
local tekst="Oto jest tekst wywołania: \"#\"";
-- Elementem omijanym jest "#";
local tekst2=szeregi_modul.SzeregiOmijanieFunkcyjne(tekst,true,"&(#35);",function(tekst)
return mw.uri.encode(tekst);
end,
function(kod)
-- Operacje robione na przechwytywanym ciągu, tzn. z dodawaniem prefiksu początkowego i końcowego;
return "&"..kod..";";
end);
local zrodlolua_modul=require("Module:ŹródłoLua");
local wikikod=zrodlolua_modul["ŹródłoLua"](frame,{
{"tekst",tekst,},
{"tekst2",tekst2,},
});
return wikikod;
end;
return p;
2j8o8b27sgfd46tbz0cw2fz75gc0rxz
Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1/opis
828
64402
558167
2026-10-01T09:56:55Z
Persino
2851
Utworzono nową stronę „{{PobierzŚródtekst|uchwyt=dokumentacja|nazwa artykułu=dokumentacja|nazwa książki=MediaWiki:Scribunto-doc-page-przykład|klucz={{Szablon nie opis}}|klucz2=tak|klucz3=|klucz4=}}”
558167
wikitext
text/x-wiki
{{PobierzŚródtekst|uchwyt=dokumentacja|nazwa artykułu=dokumentacja|nazwa książki=MediaWiki:Scribunto-doc-page-przykład|klucz={{Szablon nie opis}}|klucz2=tak|klucz3=|klucz4=}}
r4nzmqhbz8e26m1g27v4b4tbx39k7cv
558169
558167
2026-10-01T09:58:02Z
Persino
2851
Persino przeniósł(-osła) stronę [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjneSzeregiOmijanieFunkcyjne/Kod 1/opis]] do [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1/opis]], bez pozostawienia przekierowania pod starym tytułem
558167
wikitext
text/x-wiki
{{PobierzŚródtekst|uchwyt=dokumentacja|nazwa artykułu=dokumentacja|nazwa książki=MediaWiki:Scribunto-doc-page-przykład|klucz={{Szablon nie opis}}|klucz2=tak|klucz3=|klucz4=}}
r4nzmqhbz8e26m1g27v4b4tbx39k7cv
558171
558169
2026-10-01T09:58:05Z
Persino
2851
Persino przeniósł(-osła) stronę [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjneSzeregiOmijanieFunkcyjne/Kod 1/opis]] do [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1/opis]], bez pozostawienia przekierowania pod starym tytułem
558167
wikitext
text/x-wiki
{{PobierzŚródtekst|uchwyt=dokumentacja|nazwa artykułu=dokumentacja|nazwa książki=MediaWiki:Scribunto-doc-page-przykład|klucz={{Szablon nie opis}}|klucz2=tak|klucz3=|klucz4=}}
r4nzmqhbz8e26m1g27v4b4tbx39k7cv
558173
558171
2026-10-01T09:58:06Z
Persino
2851
Persino przeniósł(-osła) stronę [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjneSzeregiOmijanieFunkcyjne/Kod 1/opis]] do [[Moduł:Wikibooks/Przykład/Szeregi/SzeregiOmijanieFunkcyjne/Kod 1/opis]], bez pozostawienia przekierowania pod starym tytułem
558167
wikitext
text/x-wiki
{{PobierzŚródtekst|uchwyt=dokumentacja|nazwa artykułu=dokumentacja|nazwa książki=MediaWiki:Scribunto-doc-page-przykład|klucz={{Szablon nie opis}}|klucz2=tak|klucz3=|klucz4=}}
r4nzmqhbz8e26m1g27v4b4tbx39k7cv
Kategoria:Szablony, moduły Lua w Scribunto, z opisami, przykładów stron projektu/Szeregi
14
64404
558175
2026-10-01T10:06:38Z
Persino
2851
Utworzono nową stronę „{{Kategoria|Szablony, moduły Lua w Scribunto, z opisami, przykładów stron projektu}}”
558175
wikitext
text/x-wiki
{{Kategoria|Szablony, moduły Lua w Scribunto, z opisami, przykładów stron projektu}}
b6lz6rtgdy8574elh6cxs9mf0u1nnnm
Kategoria:Szablony, moduły Lua w Scribunto, bez opisów, przykładów stron projektu/Szeregi
14
64405
558176
2026-10-01T10:07:38Z
Persino
2851
Utworzono nową stronę „{{Kategoria|Szablony, moduły Lua w Scribunto, bez opisów, przykładów stron projektu}}”
558176
wikitext
text/x-wiki
{{Kategoria|Szablony, moduły Lua w Scribunto, bez opisów, przykładów stron projektu}}
37h9jjo3mkpr8t03n0iz5hi6aicw54a